【问题标题】:How to help iJulia notebook find an externally compiled library如何帮助 iJulia notebook 找到外部编译的库
【发布时间】:2017-01-11 05:42:08
【问题描述】:

我试图在 iJulia 笔记本中运行 mxnet 的编译版本,但是当我执行命令 using MXNet 时,出现以下错误:

InitError: error compiling __init__: error compiling _populate_symbol_creator_cache!: error compiling _get_atomic_symbol_creators: could not load library "/home/milton/mxnet/lib/libmxnet.so"
libcudart.so.7.5: cannot open shared object file: No such file or directory
during initialization of module mx

in _include_from_serialized(::String) at ./loading.jl:150
in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:187
in _require_search_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:217
in require(::Symbol) at ./loading.jl:371

我补充说可能是 ENV 被清除了:

ENV["MXNET_HOME"] = "/home/milton/mxnet"
ENV["LD_LIBRARY_PATH"] = "/home/milton/mxnet/lib:/usr/local/cuda/lib64"

这使我可以正确执行指令using MXNet,但在尝试执行 mxnet 库中的任何命令时再次引发错误

error compiling #Variable#215: could not load library "/home/milton/programming/mxnet/lib/libmxnet.so"
libcudart.so.7.5: cannot open shared object file: No such file or directory

in Variable(::Symbol) at /home/milton/.julia/v0.5/MXNet/src/symbolic-node.jl:232

我该如何解决这个问题?还有其他地方我需要定义路径吗? REPL 一切正常。

【问题讨论】:

    标签: julia ijulia-notebook mxnet.jl


    【解决方案1】:

    我在GitHub 上得到了一些帮助。我在那里了解到LD_LIBRARY_PATH 由动态链接加载器处理,并在程序启动时修复,如SO question 的答案所述。即使在笔记本中弄乱它时它似乎发生了变化,但事实并非如此。

    为了让它工作,我在终端中启动 jupyter-notebook,并设置了正确的 LD_LIBRARY_PATH(在我的情况下,我的 .bashrc 自动包含指向我编译的 mxnet/lib 的路径,因此它可以在任何本地终端中工作. 它不在我的全局设置中)。

    【讨论】:

      猜你喜欢
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2013-09-15
      • 1970-01-01
      相关资源
      最近更新 更多