/usr/bin/ld: /opt/python3.4.1/lib/libpython3.4m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
This error raise because the linker could not find libpythonX.X.so
. When I built my Python3.4.1
, I used only one option--prefix
, so I do not have a shared lib in my python's lib.
Then I rebuild my python with --enable-shared
, then install PyQt5
, and successfully import PyQt.
However, I realize my python version is 3.4.0! Python exec. was linked to system python's lib...
This article helps me a lot: http://koansys.com/tech/building-python-with-enable-shared-in-non-standard-location
Finally, I add LDFLAGS= -Wl,-rpath /opt/python3.4.1/lib
to configure option:
./configure --prefix=/opt/python3.4.1 --enable-shared LDFLAGS= -Wl,-rpath /opt/python3.4.1/lib
and then installed PyQt5.
Now, I can enjoy it~(≧▽≦)/~