caffe: libglog.so.0 отсутствует (ошибка при загрузке разделяемых библиотек)

Некоторое время назад я установил caffe на сервер, и тогда он работал правильно.

Теперь я снова следую руководству LeNet MNIST (http://caffe.berkeleyvision.org/gathered/examples/mnist.html) и запустил

./examples/mnist/create_mnist.sh 

возвращается

build/examples/mnist/convert_mnist_data.bin: error while loading shared libraries: libglog.so.0: cannot open shared object file: No such file or directory

Я заметил, что liibglog.so.0 отсутствует в /lib, что может быть причиной этого, но мне не разрешено копировать этот файл в каталог /lib, так как я не являюсь пользователем root.

Есть ли обходной путь для этого?


person ytrewq    schedule 04.03.2015    source источник
comment
Чего конкретно вы пытаетесь достичь, запустив ldconfig?   -  person merlin2011    schedule 04.03.2015
comment
У меня проблема с запуском caffe, который я установил и проверил, работает ли он правильно, но сейчас он не работает. Я немного погуглил, и некоторые люди говорят, что ldconfig может помочь.   -  person ytrewq    schedule 04.03.2015
comment
Если вы опубликуете более подробную информацию о своей фактической проблеме, возможно, вам помогут. На самом деле нет обходного пути для отсутствия root, но есть много обходных путей для запуска приложений, которые по умолчанию требуют root, но не нуждаются в нем.   -  person merlin2011    schedule 04.03.2015
comment
Спасибо, я отредактировал вопрос, как советовали.   -  person ytrewq    schedule 04.03.2015
comment
У вас есть копия ` liibglog.so.0 ` где-то еще в вашей файловой системе?   -  person merlin2011    schedule 04.03.2015
comment
да, это в ~/local/lib   -  person ytrewq    schedule 04.03.2015


Ответы (1)


Самый простой способ обойти отсутствие разделяемых библиотек в системных каталогах — использовать LD_LIBRARY_PATH с каталогом, в котором находится разделяемая библиотека.

Перед запуском команды, для которой требуется библиотека, запустите следующую команду в той же оболочке.

export LD_LIBRARY_PATH=~/local/lib

Вы также можете вставить это в свой .bashrc для удобства.

Альтернативное решение состоит в том, чтобы использовать следующий флаг командной строки при компиляции, но это требует использования скриптов сборки других людей.

 -Wl,-rpath,$(DEFAULT_LIB_INSTALL_PATH)
person merlin2011    schedule 04.03.2015