Build error kdebase on amd64 platform: relocation R_X86_64_32S against `a local symbol'

Christian Esken esken at
Sun May 18 23:16:21 BST 2008


I receive the following error message when building trunk:

kde at firefly:/SVN/kdebase/obj> make
Linking CXX shared module ../../../lib/
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../lib64/libpci.a(access.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../lib64/libpci.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/] Fehler 1
make[1]: *** [apps/kinfocenter/pci/CMakeFiles/kcm_pci.dir/all] Fehler 2
make: *** [all] Fehler 2

The message suggests to build with -fPIC. OK, as a workaround I changed the CMAKE_BUILD_TYPE from "debugfull" to "Release", and the compiler c++ now uses -fPIC . The build error, though, is the same. Is there a known workaround for this issue?

BTW: The page reports similar issues with kdepim under amd64, so it seems not to be specific to CPU architecture and not me.


Things should be made as simple as possible, but no simpler. 
  - Albert Einstein

More information about the kde-core-devel mailing list