Приветствую, линкую boost.python через систему сборки cmake.
set(Boost_USE_STATIC_LIBS OFF)<br/>
set(Boost_USE_MULTITHREADED ON)<br/>
set(Boost_USE_STATIC_RUNTIME OFF)<br/>
<br/>
find_package(Boost COMPONENTS filesystem system date_time python REQUIRED)<br/>
<br/>
add_definitions(-Wall -g -msse2 -fPIC)
Основные параметры проекта.
Просто, когда билдю вылетает:
/usr/bin/ld: libboost_python.a(from_python.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC<br/>
libboost_python.a: could not read symbols: Bad value
Посмотрел аргументы линкера, которые используются (через make VERBOSE=1):
/usr/bin/c++ -fPIC -g -shared -Wl,-soname,libScript.so -o ../../lib/libScript.so CMakeFiles/LogManagerWrapper.cpp.o -Wl,-Bstatic -lboost_filesystem -lboost_system -lboost_date_time -lboost_python -Wl,-Bdynamic -lpython2.7
Методом тыка убрал
-Wl,-Bstatic, заработало. Что это может быть?