Неопределенная ссылка на leveldb при компиляции Caffe

Моя ОС — Ubuntu15.10. Когда я использовал CMake для компиляции Caffe, я получил эти ошибки:

[ 95%] Built target train_net
Scanning dependencies of target classification
../lib/libcaffe.so: undefined reference to ‘leveldb::DB::Open(leveldb::Options const&,   std::string const&, leveldb::DB**)’
../lib/libcaffe.so: undefined reference to ‘leveldb::Status::ToString() const’
collect2: error: ld returned 1 exit status
tools/CMakeFiles/caffe.bin.dir/build.make:126: recipe for target 'tools/caffe' failed
make[2]: *** [tools/caffe] Error 1
CMakeFiles/Makefile2:406: recipe for target 'tools/CMakeFiles/caffe.bin.dir/all' failed
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Error 2

Я уже установил libleveldb-dev.

И если я сделаю USE_LEVELDB «Build with levelDB» выключенным в CMakeLists, компиляция будет успешной, но примеры не могут быть выполнены.

1

Решение

Хорошо … 2 часа назад я решил эту проблему самостоятельно. Я отказался от использования CMake и сделал некоторые изменения в makefile.configure :

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include /home/vic/leveldb/include/leveldb /opt/OpenBLAS/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/vic/leveldb /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial /opt/OpenBLAS/lib

Я просто добавляю ряд адресов библиотек, которые, как я думал, могут быть.
И наконец я успешно скомпилировал Caffe сделать все с levelDB и успешно запустить mnist. Она может действительно не может найти библиотеки, если они не были в том же месте, что и в более ранних версиях.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]