gpt4 book ai didi

macos - dyld : Library not loaded: @rpath/libcudart. 8.0.dylib,同时在 Mac OSX 上构建 tensorflow

转载 作者:行者123 更新时间:2023-12-03 23:51:43 24 4
gpt4 key购买 nike

我正在我的 Mac 上构建 tensorflow(一个 hackintosh,所以我有一个 GPU,并且已经安装了 CUDA8.0。它适用于构建 caffe,所以我确信它可以工作。)我已经设置了环境变量如下(我把这些放在 .zshrc.bash_profile.bashrc 中):

export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$CUDA_HOME/lib"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib"
./configure 工作正常。然后我开始使用命令 bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package 构建。
然后我得到了这个错误:
    ERROR: /Development/tensorflow/tensorflow/python/BUILD:572:1: Executing genrule //tensorflow/python:array_ops_pygenrule failed: bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped): com.google.devtools.build.lib.shell.AbnormalTerminationException: Process terminated by signal 5.
dyld: Library not loaded: @rpath/libcudart.8.0.dylib
Referenced from: /private/var/tmp/_bazel_zarzen/bdf1cb43f3ff02468b610730bd03f348/execroot/tensorflow/bazel-out/host/bin/tensorflow/python/gen_array_ops_py_wrappers_cc
Reason: image not found
/bin/bash: line 1: 92702 Trace/BPT trap: 5 bazel-out/host/bin/tensorflow/python/gen_array_ops_py_wrappers_cc @tensorflow/python/ops/hidden_ops.txt 1 > bazel-out/local_darwin-opt/genfiles/tensorflow/python/ops/gen_array_ops.py
Target //tensorflow/tools/pip_package:build_pip_package failed to build

我可以确保错过的图书馆在那里。而且我还尝试安装预构建的二进制文件(我知道它只支持 CUDA7.5,所以我将 PATH 设置为指向 CUDA7.5,但它不起作用。当我尝试 import tensorflow 时,类似的错误 Library not loaded: @rpath/libcudart.7.5.dylib ,只有版本号已更改)。

我不知道为什么它找不到 lib 。任何人都可以帮忙吗?或任何建议?

最佳答案

以下应该修复错误。

找到文件“genrule-setup.sh”。该文件应该在

<tensorflow source dir>/bazel-tensorflow/external/bazel_tools/tools/genrule/

如果此文件的时间戳发生更改,则 bazel 构建将失败,说明文件已损坏。所以在修改这个文件之前记下时间戳
stat genrule-setup.sh

你应该得到这样的输出:
16777220 25929227 -rwxr-xr-x 1 user wheel 0 242 "Oct 12 23:46:28 2016" "Oct 10 21:49:39 2026" "Oct 12 21:49:39 2016" "Oct 12 21:49:38 2016" 4096 8 0 genrule-setup.sh

记下上述输出中的第二个时间戳“Oct 10 21:49:39 2026”

编辑 genrule-setup.sh 文件
nano genrule-setup.sh

并将环境配置添加到文件末尾
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib

保存并关闭编辑器。

然后把时间戳改成原来的时间戳
touch -t YYYYMMDDhhmm.SS genrule-setup.sh

例如
touch -t 202610102149.39 genrule-setup.sh

最后,创建一个符号链接(symbolic link)以避免“Segmentation fault: 11”错误
ln -sf /usr/local/cuda/lib/libcuda.dylib /usr/local/cuda/lib/libcuda.1.dylib

现在重新开始构建
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

关于macos - dyld : Library not loaded: @rpath/libcudart. 8.0.dylib,同时在 Mac OSX 上构建 tensorflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com