gcc JAX的Bazel构建失败,缺少依赖项声明

j2qf4p5b  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(160)

我正在尝试在CentOS版本7的集群上从源代码构建支持cuda的JAX。在jax主目录中,我运行:
python build/ www.example.com --enable_cuda --cuda_path=$CUDA_HOME --cudnn_path=$CUDNN_HOME
以下是我的规格:

  • cuda版本:11.6
  • cudnn版本7.5
  • gcc版本:11.2.0
  • Bazel二进制路径:./bazel-5.1.1-linux-x86_64
  • Bazel版本:5.1.1
  • Python二进制路径:~/.conda/envs/JAX/bin/python
  • Python版本:3.9
  • NumPy版本:1.21.5
  • 启用MKL-DNN:是的
  • 目标CPU:x86_64
  • 目标CPU功能:释放
  • 已启用CUDA:是的

以下是我的环境变量:
CC=/usr/local/app/compiler/gcc/11。2.0/bin/gcc CXX=/usr/local/app/compiler/gcc/11。2.0/bin/g++ INCLUDE=/usr/local/app/compiler/gcc/11.2.0/include LIBRARY_PATH=/usr/local/app/compiler/gcc/11。2.0/lib64:/usr/local/app/lib/nvidia/cuda/11.6.1/lib64:/usr/local/app/lib/nvidia/driver/510。47/lib64/nvidia LD_LIBRARY_PATH=/usr/local/app/compiler/gcc/11。2.0/lib64:/usr/local/app/lib/nvidia/cuda/11.6.1/lib64:/usr/local/app/lib/nvidia/driver/510。47/lib64/NVIDIA
Bazel构建会抛出以下错误:
错误:/lustre 1/home/rice_cake/.cache/bazel/_bazel_rice_cake/8366d0a62cbb3b115627233e356374ab/external/zlib/BUILD.bazel:5:11:Compiling uncompr.c失败:规则'@zlib//:zlib'中未声明包含:此规则缺少'uncompr'包含的下列文件的依赖关系声明。c':'/usr/local/app/compiler/gcc/11.2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include/stddef。h' '/usr/local/app/compiler/gcc/11。2.0/lib/gcc/x86_64-redhat-linux/11.2.0/包含-固定/限制。h' '/usr/local/app/compiler/gcc/11。2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include-fixed/syslimits。h“”/usr/local/app/compiler/gcc/11。2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include/stdarg.h'
Bazel似乎在抱怨我没有声明C++库文件的依赖关系。有办法解决吗?
问题是这些Bazel构建文件是由jax/build/ www.example.com ,我不知道如何手动修复它们。
P.S.在我的本地机器上从源代码构建JAX是成功的。。
非常感谢你的帮助,赖斯
我进入Bazel缓存文件并检查了BUILD文件,它与我本地机器上的相同,所以我有点卡住了。我希望设置环境变量可以帮助Bazel构建我的JAX。

y1aodyip

y1aodyip1#

要修复“规则中未声明的包含”,请尝试删除“/root/”中的完整bazel缓存文件。cache/bazel/"。对于Jax和bazel在这里我们有很好的documentation

相关问题