Control: block -1 by 841956 Steve M. Robbins a écrit le 24/10/2016 à 20:28 : > My understanding is that you have to first build boost with the > pie-enabled compiler chain, then build your package with the new > boost. > > c.f. https://wiki.ubuntu.com/SecurityTeam/PIE > > > Note that using -fPIC on static libs is against current Debian Policy.
You're right. I've just tested building psi4 against a fresh build of boost1.61, and it works. I've submitted a binnmu request accordingly. Thanks, _g. > > On Mon, Oct 24, 2016 at 08:19:13PM +0200, Gilles Filippini wrote: >> Source: boost1.61 >> Version: 1.61.0+dfsg-3 >> Severity: serious >> Justification: make other packages FTBFS >> > 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) >
signature.asc
Description: OpenPGP digital signature