Перемещение R_X86_64_32S против `_Py_NotImplementedStruct'не может быть использовано при создании общего объекта; перекомпилировать с -fPIC
Я получил это сообщение об ошибке после запуска его на Centos 7 (512 МБ).
sudo make pycaffe
или же
sudo make distribute
Сообщение об ошибке
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [python/caffe/_caffe.so] Error 1
Пожалуйста посоветуй. Спасибо.
2 ответа
У меня была такая же проблема с попыткой установить dlib. Решением было построить Python с --enable-shared
флаг. Когда используешь pyenv
это можно сделать так:
PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --force 2.7.11
Недавно я столкнулся с подобной ошибкой в другом программном пакете.
Попробуйте пройти CFLAGS="-fPIC"
или же CXXFLAGS="-fPIC"
при настройке или сборке. Это сработало для меня.
Вы также можете перейти на эту страницу на -fPIC
ошибки: