ysnis 2025-01-01 11:24 采纳率: 14.3%
浏览 15

tensorflow2.13.0编译遇到错误

tensorflow2.13.0编译对应的Anaconda3和protobuf版本是什么?我知道需要的bazel版本是5.3.0.

tensorflow2.13.0编译遇到错误:ERROR: /home/aist/.cache/bazel/_bazel_aist/424562a72208dac6d3a9db17a1132081/external/llvm-project/llvm/BUILD.bazel:156:11: Compiling llvm/lib/Demangle/MicrosoftDemangleNodes.cpp [for host] failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 66 arguments skipped)
In file included from external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp:13:0:
external/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h:19:23: fatal error: string_view: No such file or directory
compilation terminated.
Target //tensorflow:libtensorflow_cc.so failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 494.531s, Critical Path: 4.30s
INFO: 226 processes: 41 internal, 185 local.
FAILED: Build did NOT complete successfully


这是因为编译环境版本问题吗?或者我优化编译选项能规避这个问题吗?还是GCC版本有问题呢?如果GCC版本问题,因为集成环境不允许升级GCC,是否能改用CLANG编译tensorflow?改用CLANG可以绕开GCC版本太旧的问题吗?

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2025-01-01 11:27
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据您提供的错误信息,出现错误是因为缺少头文件string_view的问题,这可能是由于编译环境的版本不匹配所导致的。为了避免这个问题,您可以尝试更新编译环境或者优化编译选项。 另外,您也可以考虑改用clang来编译tensorflow,因为clang的兼容性较好,能够更好地适应不同的编译环境。使用clang可以绕开gcc版本太旧的问题,从而解决您遇到的编译错误。 以下是您可以尝试的步骤:
    1. 确认您的Anaconda3和protobuf版本与tensorflow2.13.0匹配。
    2. 使用bazel 5.3.0版本进行编译。
    3. 尝试更新编译环境或者优化编译选项。
    4. 如果集成环境不允许升级GCC,可以考虑改用clang进行编译。 以下是改用clang编译tensorflow的示例代码:
    # 设置环境变量来指定使用clang进行编译
    export CC=clang
    export CXX=clang++
    # 使用bazel进行编译
    bazel build --config=monolithic //tensorflow:libtensorflow_cc.so
    

    请注意,使用不同的编译器可能会导致一些不兼容或者性能方面的差异,建议在进行更改之前仔细评估和测试。希望以上回答对您有所帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月1日