2015-05-24 4 views
2

Я получаю сообщение об ошибке при попытке установить Caffe на Linux Ubuntu 64. Ошибка заключается в следующем:кофейная перекомпиляция libgflags.a с -fpic ошибки

/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libgflags.a: error adding symbols: Bad value

Я попытался перекомпилировать библиотеку GFLAGS с -fPIC, но ошибка изменен следующим образом:

src/caffe/common.cpp: In function ‘void caffe::GlobalInit(int*, char***)’:
src/caffe/common.cpp:35:5: error: ‘::gflags’ has not been declared
::gflags::ParseCommandLineFlags(pargc, pargv, true);

Я также попытался изменить CMakeCache.txt из CAFFE, чтобы установить -fPIC, но не работает.

ответ

1

Эта ошибка возникает из-за того, что gflags 2.1 изменило имя пространства имен с google на gflags. Попытки членов сообщества caffe исправить эту ошибку, хотя они еще не завершены. Вы должны переназначить пространство имен из google в gflags следующим образом.

В файлах

  • кофейные/включить/кофейный/common.hpp
  • кофейных/примеры/mnist/convert_mnist_data.cpp

Закомментируйте ifndef

// #ifndef GFLAGS_GFLAGS_H_ 
namespace gflags = google; 
// #endif // GFLAGS_GFLAGS_H_ 

Это должно работать временно. Вы должны использовать fork и иногда синхронизировать свое репозиторинг caffe с BVLC/caffe repo на github, чтобы вы получили последние обновления кода.

 Смежные вопросы

  • Нет связанных вопросов^_^