2017-03-29 4 views
0

소스에서 TensorFlow를 빌드하려고합니다. 나는 다음과 같은 명령을 사용하여 PIP 패키지를 빌드 할 때, 설치를 구성한 후 TensorFlow : 파이프 패키지를 빌드하는 중 오류가 발생했습니다.

$ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

나는 다음과 같은 오류 메시지가 :

ERROR: /workspace/tensorflow/core/BUILD:1312:1: Executing genrule //tensorflow/core:version_info_gen failed: bash failed: error executing command 
(cd /root/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/workspace && \ 
exec env - \ 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ 
/bin/bash -c 'source external/bazel_tools/tools/genrule/genrule-setup.sh; tensorflow/tools/git/gen_git_source.py --generate tensorflow/tools/git/gen 
/spec.json tensorflow/tools/git/gen/head tensorflow/tools/git/gen/branch_ref "bazel-out/host/genfiles/tensorflow/core/util/version_info.cc"'): com.goo 
gle.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1. 
Traceback (most recent call last): 
File "tensorflow/tools/git/gen_git_source.py", line 260, in <module> 
generate(args.generate) 
File "tensorflow/tools/git/gen_git_source.py", line 212, in generate 
git_version = get_git_version(data["path"]) 
File "tensorflow/tools/git/gen_git_source.py", line 152, in get_git_version 
str("--work-tree=" + git_base_path), "describe", "--long", "--tags" 
File "/usr/lib/python2.7/subprocess.py", line 566, in check_output 
process = Popen(stdout=PIPE, *popenargs, **kwargs) 
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ 
errread, errwrite) 
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child 
raise child_exception 
OSError: [Errno 2] No such file or directory 
Target //tensorflow/tools/pip_package:build_pip_package failed to build 
INFO: Elapsed time: 8.567s, Critical Path: 7.90s 

뭐가 잘못이야?

(우분투 14.04는, CPU 전용)

답변

1

빌드 스크립트가 자식 버전을하려고하는 빌드에서이 단계에서 라인 (152)에

tensorflow/tools/git/gen_git_source.py 

에서 오류가 발생한 것으로 보인다 당신의 tensor flow repo의 수. 당신은 git을 사용하여 텐서 흐름 레포를 체크 아웃 했습니까? .git 파일은/tensorflow/root 디렉토리에 있습니까? 어쩌면 당신은 자식 버전을 업데이 트해야합니까?

이 질문과 유사합니다 Build Error Tensorflow

+0

가 고정 표시기 컨테이너 내부에 tensorflow를 달리고 있었다, 그리고 그것은 자식을했다하지 않았다. git을 설치하면 이제 작동합니다. 감사. – ibrahim5253

0

내가 내 PATH 변수에 git했다 경우에도이 오류가 발생했습니다. https://stackoverflow.com/a/5659249/212076에서 시작된 서브 프로세스가 PATH 변수를 가져 오지 못했다는 힌트를 얻었습니다. 이것이 내가 또 다른 오류가 발생했습니다 고정있어 일단

솔루션

val = bytes(subprocess.check_output([ 
     "C:\Program Files (x86)\Git\cmd\git.cmd", str("--git-dir=%s/.git" % git_base_path), 
     str("--work-tree=" + git_base_path), "describe", "--long", "--tags" 
    ]).strip()) 

val = bytes(subprocess.check_output([ 
     "git", str("--git-dir=%s/.git" % git_base_path), 
     str("--work-tree=" + git_base_path), "describe", "--long", "--tags" 
    ]).strip()) 

를 대체하여 <ROOT>\tensorflow\tensorflow\tools\git\gen_git_source.py에 하드 코드에 git 명령했다 : fatal: Not a git repository: './.git'. 는 내가 tensorflow 루트 폴더에 참조 된해야 하나 생각하고 빌드가 성공 그 후 그래서 나는

git_version = get_git_version("../../../../") 

git_version = get_git_version(".") 

을 대체 할 <ROOT>\tensorflow\tensorflow\tools\git\gen_git_source.py을 편집했다.

참고 : OP는 달리, 내 빌드 플랫폼은 윈도우 7 64 비트

관련 문제