Source: chkservice
Version: 0.1-1
Severity: important
Justification: fails to build from source
User: debian-...@lists.debian.org

The build of chkservice for x32 (admittedly not a release
architecture) failed:

  [ 73%] Building CXX object tests/CMakeFiles/RunTests.dir/main-test.cpp.o
  cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnux32/tests && /usr/bin/c++   
-I/<<PKGBUILDDIR>>/include  -g -Wall   -std=gnu++11 -o 
CMakeFiles/RunTests.dir/main-test.cpp.o -c /<<PKGBUILDDIR>>/tests/main-test.cpp
  [...]
  /usr/bin/c++  -g -Wall  -specs=/usr/share/dpkg/pie-link.specs -Wl,-z,relro 
-Wl,-z,now -rdynamic CMakeFiles/RunTests.dir/main-test.cpp.o 
CMakeFiles/RunTests.dir/chksystemd-test.cpp.o 
CMakeFiles/RunTests.dir/chkctl-test.cpp.o 
CMakeFiles/RunTests.dir/chkui-test.cpp.o  -o RunTests -lsystemd -lncurses 
-ltinfo ../src/libCHKSYSTEMD.a ../src/libCHKCTL.a ../src/libCHKUI.a 
../src/libCHKCTL.a ../src/libCHKSYSTEMD.a -lsystemd -lncurses -ltinfo
  /usr/bin/ld: CMakeFiles/RunTests.dir/main-test.cpp.o: relocation R_X86_64_32S 
against `.rodata' 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
  tests/CMakeFiles/RunTests.dir/build.make:180: recipe for target 
'tests/RunTests' failed
  make[3]: *** [tests/RunTests] Error 1

The link command specifies -fPIE (via pie-link.specs, presumably
courtesy of enabling full hardening), but the compilation command does
not.  This inconsistency isn't always a problem -- chkservice itself
built fine, and builds on other architectures such as alpha on which
the compiler supports PIE but doesn't default to it also managed to
succeed -- but as you can see clearly can be one.  Could you please
take a look?

Thanks!

-- 
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?a...@monk.mit.edu

Reply via email to