2017-01-11 11 views
1

Я пытаюсь запустить скомпилированную версию mxnet в iJulia ноутбуке, но когда я выполнить команду using MXNet, я получаю сообщение об ошибке следовать:Как помочь iJulia ноутбука найти внешне скомпилированные библиотеки

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.

ответ

1

Я получил эту работу с некоторой помощью на GitHub. Я узнал, что LD_LIBRARY_PATH обрабатывается динамическим загрузчиком ссылок и фиксируется при запуске программы, как описано в ответе на этот вопрос SO question. Несмотря на то, что это кажется измененным, когда возиться с ним в ноутбуке, это не так.

Чтобы получить эту работу, я начинаю jupyter-notebook в терминале с соответствующим LD_LIBRARY_PATH множества (в моем случае моего .bashrc автоматически включает в себя путь к моему скомпилирован mxnet/lib, поэтому он работает в любом локальном терминале. Это не в моем глобальная настройка).