[pkg-boost-devel] Bug#841947: libboost-*1.61-dev: Please build static libs with -fPIC

Gilles Filippini pini at debian.org
Mon Oct 24 18:19:13 UTC 2016


Source: boost1.61
Version: 1.61.0+dfsg-3
Severity: serious
Justification: make other packages FTBFS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

When rebuilding the psi4 package on amd6', it FTBFS with:

[100%] Linking CXX executable ../../../bin/psi4
cd /<<PKGBUILDDIR>>/builddir/src/bin/psi4 && /usr/bin/cmake -E cmake_link_script CMakeFiles/psi4.dir/link.txt --verbose=1
/usr/bin/c++   -DRESTRICT=__restrict__ -Xlinker -export-dynamic -fPIC -std=c++11 -fopenmp -O2 -g -DNDEBUG   CMakeFiles/psi4_objlib.dir/export_psio.cc.o CMakeFiles/psi4_objlib.dir/export_mints.cc.o CMakeFiles/psi4_objlib.dir/psi_stop.cc.o CMakeFiles/psi4_objlib.dir/export_functional.cc.o CMakeFiles/psi4_objlib.dir/export_oeprop.cc.o CMakeFiles/psi4_objlib.dir/export_plugins.cc.o CMakeFiles/psi4_objlib.dir/export_blas_lapack.cc.o CMakeFiles/psi4_objlib.dir/export_benchmarks.cc.o CMakeFiles/psi4_objlib.dir/export_efp.cc.o CMakeFiles/psi4_objlib.dir/export_cubeprop.cc.o CMakeFiles/psi4_objlib.dir/clean.cc.o CMakeFiles/psi4_objlib.dir/create_new_plugin.cc.o CMakeFiles/psi4_objlib.dir/script.cc.o CMakeFiles/psi4_objlib.dir/set_memory.cc.o CMakeFiles/psi4_objlib.dir/read_options.cc.o CMakeFiles/psi4_objlib.dir/export_libparallel.cc.o CMakeFiles/versioned_code.dir/version.cc.o CMakeFiles/versioned_code.dir/python.cc.o CMakeFiles/versioned_code.dir/psi_start.cc.o CMakeFiles/versioned_code.dir
 /psi4.cc.o  -o ../../../bin/psi4 -rdynamic -lutil -lm -lrt -ldl -lpython2.7 -Wl,--whole-archive ../../../lib/libadc.a ../../../lib/libccdensity.a ../../../lib/libccenergy.a ../../../lib/libcceom.a ../../../lib/libcchbar.a ../../../lib/libcclambda.a ../../../lib/libccresponse.a ../../../lib/libccsort.a ../../../lib/libcctransort.a ../../../lib/libcctriples.a ../../../lib/libdcft.a ../../../lib/libdetci.a ../../../lib/libdfmp2.a ../../../lib/libdfocc.a ../../../lib/libefp.a ../../../lib/libfindif.a ../../../lib/libfisapt.a ../../../lib/libfnocc.a ../../../lib/libmcscf.a ../../../lib/libmints_wrapper.a ../../../lib/libmrcc.a ../../../lib/libocc.a ../../../lib/liboptking.a ../../../lib/libpsimrcc.a ../../../lib/libsapt.a ../../../lib/libscf.a ../../../lib/libscfgrad.a ../../../lib/libthermo.a ../../../lib/libtransqt2.a ../../../lib/libdmrg.a ../../../lib/lib3index.a ../../../lib/libciomr.a ../../../lib/libdiis.a ../../../lib/libdisp.a ../../../lib/libdpd.a ../../../lib/libefp_solver.a .
 ./../../lib/libfock.a ../../../lib/libfunctional.a -Wl,--whole-archive ../../../lib/libiwl.a -Wl,--no-whole-archive ../../../lib/libmints.a ../../../lib/libmoinfo.a ../../../lib/liboptions.a ../../../lib/libparallel.a ../../../lib/libparallel2.a ../../../lib/libplugin.a ../../../lib/libsapt_solver.a ../../../lib/libscf_solver.a ../../../lib/libthce.a ../../../lib/libtrans.a ../../../lib/libpsi4util.a ../../../lib/libpsio.a ../../../lib/libPsiUtil.a ../../../lib/libqt.a ../../../lib/libcubeprop.a ../../../lib/libinterface_libefp.a -Wl,--no-whole-archive -Wl,-Bstatic -lboost_filesystem -lboost_python -lboost_regex -lboost_serialization -lboost_system -lboost_timer -lboost_chrono -lboost_thread -lboost_date_time -lboost_atomic -Wl,-Bdynamic -lpthread -llapack -lblas -lpython2.7 -lblas -llapack -lint -lderiv -lutil -ldl -lrt -lm /usr/lib/x86_64-linux-gnu/libchemps2.so -lchemps2 /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so -lsz -lz -lpthread -lm -lpython2.7 -ldl -Wl,-rpath,/usr/l
 ib/x86_64-linux-gnu/hdf5/serial/lib 
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_filesystem.a(operations.o): relocation R_X86_64_32S against symbol `_ZN5boost6detail15sp_counted_base7destroyEv' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_filesystem.a(path.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(list.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(dict.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(tuple.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(str.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/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
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(registry.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(type_id.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(enum.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(class.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(function.o): relocation R_X86_64_32 against symbol `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(inheritance.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(life_support.o): relocation R_X86_64_32 against symbol `_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(pickle_support.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(errors.o): relocation R_X86_64_32 against symbol `_ZN5boost6python17error_already_setD1Ev' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(module.o): relocation R_X86_64_32S against symbol `_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(builtin_converters.o): relocation R_X86_64_32 against symbol `PyInt_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(iterator.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(stl_iterator.o): relocation R_X86_64_32S against symbol `_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(object_protocol.o): relocation R_X86_64_32 against hidden symbol `__dso_handle' can not be used when making a shared object
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(object_operators.o): relocation R_X86_64_32 against hidden symbol `__dso_handle' can not be used when making a shared object
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(import.o): relocation R_X86_64_32S against symbol `_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(exec.o): relocation R_X86_64_32S against symbol `_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_python.a(function_doc_signature.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_regex.a(instances.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_regex.a(regex.o): relocation R_X86_64_32S against symbol `_ZTVN5boost11regex_errorE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_regex.a(regex_traits_defaults.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_regex.a(cpp_regex_traits.o): relocation R_X86_64_32 against symbol `_ZZN5boost16cpp_regex_traitsIcE14get_mutex_instEvE7s_mutex' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_system.a(error_code.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_thread.a(thread.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libboost_thread.a(once.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status

This is related to enabling PIE and bindnow for amd64 (and some other architectures).

For more information about the changes to sid's dpkg and GCC please
visit:
 https://wiki.debian.org/Hardening/PIEByDefaultTransition

Thanks,

_g.

- -- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJYDlCYAAoJEO/obGx//s+D/jsH+wbKXMjl7jZSK+yFa9bH1jd4
ysMoJKW+suKCmWsI43hbZV/61s/k+Jg5jiZeWXV+aWopWL/x0oSVHhk04LVZ9xIM
mQmF35Ck6/ZQ1GgSKeh9Tkm3+yiMAAqwStr70ICbQKcrnlDWqElyhpQJL2fTMl+Y
dHYztMcbFR9MoL1alk0eRa6EscdR8T5zpGxTzluFfbaoWLJUSJoHCBckQBwcHBaV
TaoTZ2VbN1XycZ+3qYTPabqD38dr8syD7q5xlTkIWDsiapC/3bI1GMFNXMfoowE6
Fwu3BFc8Dsv7DDdpG1836zDOHqCotSd/8bw7YEuNVAz+dMauJ1DjpWR6sdd6aNg=
=g3aG
-----END PGP SIGNATURE-----



More information about the pkg-boost-devel mailing list