我正在尝试使用Scientific Linux 7.2上的bazel 0.5.1,gcc 6.2,binutils 2.28,Anaconda2 python构建MKL加速版的TensorFlow。 显然系统/lib64/libstdc++.so.6太旧了,所以我试图在另一个目录中使用gcc。修改PATH,LD_LIBRARY_PATH以预先添加相应的路径(使用模块)。然而,虽然bazel毫无困难地为gcc,ld,python正确选择可执行文件,但它仍然试图加载旧系统/lib64/libstdc++.so.6。如何强制它使用gcc 6.2中的那个?为什么不从LD_LIBRARY_PATH中取出它? 根据谷歌的说法很多人都遇到了麻烦,但我找不到适合我的解决方案。我在Ubuntu 16.04下构建TensorFlow没有问题,它在标准位置有足够新的gcc。
我做:
1)./ configure 我选择的唯一非默认选项是使用MKL并下载MKL
2)bazel build --config = mkl --copt =“ - DEIGEN_USE_VML”-s -c opt // tensorflow / tools / pip_package:build_pip_package
.....
example / example_parser_configuration.proto tensorflow / core / protobuf / control_flow.proto tensorflow / core / protobuf / meta_graph.proto tensorflow / core / protobuf / named_tensor.proto tensorflow / core / protobuf / saved_model.proto tensorflow / core / protobuf / tensorflow_server.proto tensorflow / core / util / event.proto tensorflow / core / util / test_log.proto)
错误:/ scratch / midway2 / ivy2 / TF_intel / tensorflow / tensorflow / tools / tfprof / BUILD:42:1:null失败:protoc失败:错误执行命令bazel-out / host / bin / external / protobuf / protoc' - python_out = bazel-out / local-opt / genfiles /'-我。 -一世。 -Iexternal / protobuf / python -Iazazel-out / local-opt / genfiles / external / protobuf / python ...(其余5个参数跳过):com.google.devtools.build.lib.shell.BadExitStatusException:Process退出状态1。
bazel-out / host / bin / external / protobuf / protoc:/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.20' not found (required by bazel-out/host/bin/external/protobuf/protoc)
bazel-out/host/bin/external/protobuf/protoc: /lib64/libstdc++.so.6: version
CXXABI_1.3.8'(bazel-out / host / bin / external / protobuf / protoc)
bazel-out / host / bin / external / protobuf / protoc:/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.21'(bazel-out / host / bin / external / protobuf / protoc需要)
.....
谢谢你, 伊戈尔
答案 0 :(得分:0)
如果我在那个段落的某处遗失了你,请告诉我。)