我正在尝试在RHEL 5 上为QGIS构建Python 2.6 .在制作QGIS期间,我收到以下错误:
Linking CXX shared library libqgispython.so
/usr/bin/ld: /usr/local/lib/python2.6/config/libpython2.6.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/python2.6/config/libpython2.6.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [src/python/libqgispython.so.1.0] Error 1
make[1]: *** [src/python/CMakeFiles/qgispython.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我从这个错误中得出的结论是,我需要用一些标志来构建Python 2.6 -fPIC.好的,所以我在configure.in文件中找到了它,但它检查了几个条件,并根据它分配-fPIC给CCSHARED标志的条件.
我所做的是,在检查所有条件后,我添加以下行以故意使用CCSHAREDas -fPIC.
CCSHARED="-fPIC";
Run Code Online (Sandbox Code Playgroud)
但它没有用..
如何在配置时指定我要设置CCSHARED为-fPIC?
A. *_*ady 18
运行configure with --enable-shared.然后-fPIC将作为共享标志的一部分包含在内.
Crt*_*Crt 11
当我遇到这个错误时,以下内容对我有用:
make clean
./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
Run Code Online (Sandbox Code Playgroud)