Bug#796298: tcplay: FTBFS: CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library
Hi Michael, On Wed, Sep 7, 2016 at 12:36 AM, Michael Prokopwrote: > * László Böszörményi [Wed Aug 26, 2015 at 07:28:02AM +0200]: >> On Fri, Aug 21, 2015 at 10:10 AM, Chris Lamb wrote: >> > From a cursory glance, devmapper.pc specifies Requires.Private librt, >> > which doesn't have a librt.pc (which is likely correct as it's meant to >> > be linked statically? I'll leave it to you). > >> You are right in the sense that without 'Requires.private:' the >> devmapper library is found correctly. On the other hand I don't think >> static linking is mandatory as libdevmapper.so.* exists and is under >> /lib (no need to have /usr mounted, can be used in emergency shells as >> well). Can be a cmake issue? Will investigate further. > > Any news here, László? I'm asking because this is an RC bug and > therefore preventing tcplay to enter Debian/stretch. Last checked by me in May and couldn't make it compile as far as I can remember. > This issue was also reported towards upstream: > https://github.com/bwalex/tc-play/issues/50 This is a very different one. > I was trying to reproduce it, though couldn't: > > | -- Checking for module 'devmapper' > | -- Found devmapper, version 1.02.133 > > Instead if fails with: [...] > when compiling against current Debian/unstable. It looks like that's > an issue of static vs dynamic library linking. When replacing: > > set (CFLAGS_COMMON "-std=c99 -fPIE ${CFLAGS_LINUX} ${CFLAGS_WARN} > ${CFLAGS_VER}") > > in CMakeLists.txt with (so adding the '-fPIC' option there): > > set (CFLAGS_COMMON "-std=c99 -fPIE -fPIC ${CFLAGS_LINUX} ${CFLAGS_WARN} > ${CFLAGS_VER}") > > it indeed compiles for me. Indeed, this fixes the current issue. > Can you please take care of an according fixed package upload? Sure, it's in its way. Thanks for the heads-up, Laszlo/GCS
Bug#796298: tcplay: FTBFS: CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library
* László Böszörményi [Wed Aug 26, 2015 at 07:28:02AM +0200]: > On Fri, Aug 21, 2015 at 10:10 AM, Chris Lambwrote: > > CMake Error at CMakeLists.txt:30 (message): > > Could not find the devmapper library > > From a cursory glance, devmapper.pc specifies Requires.Private librt, > > which doesn't have a librt.pc (which is likely correct as it's meant to > > be linked statically? I'll leave it to you). > You are right in the sense that without 'Requires.private:' the > devmapper library is found correctly. On the other hand I don't think > static linking is mandatory as libdevmapper.so.* exists and is under > /lib (no need to have /usr mounted, can be used in emergency shells as > well). Can be a cmake issue? Will investigate further. Any news here, László? I'm asking because this is an RC bug and therefore preventing tcplay to enter Debian/stretch. This issue was also reported towards upstream: https://github.com/bwalex/tc-play/issues/50 I was trying to reproduce it, though couldn't: | -- Checking for module 'devmapper' | -- Found devmapper, version 1.02.133 Instead if fails with: | /usr/bin/cc -fPIC -g -O2 -fdebug-prefix-map=/build/tcplay-1.1=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--version-script=/build/tcplay-1.1/tcplay.map -fPIE -pie -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libtcplay.so.1.1 -o libtcplay.so.1.1 CMakeFiles/tcplay-so.dir/tcplay_api.c.o CMakeFiles/tcplay-so.dir/tcplay.c.o CMakeFiles/tcplay-so.dir/crc32.c.o CMakeFiles/tcplay-so.dir/safe_mem.c.o CMakeFiles/tcplay-so.dir/io.c.o CMakeFiles/tcplay-so.dir/hdr.c.o CMakeFiles/tcplay-so.dir/humanize.c.o CMakeFiles/tcplay-so.dir/crypto.c.o CMakeFiles/tcplay-so.dir/generic_xts.c.o CMakeFiles/tcplay-so.dir/crypto-gcrypt.c.o CMakeFiles/tcplay-so.dir/pbkdf2-gcrypt.c.o -ldevmapper -luuid -lgcrypt -lgpg-error | /usr/bin/ld: CMakeFiles/tcplay-so.dir/tcplay.c.o: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC | /usr/bin/ld: final link failed: Bad value | collect2: error: ld returned 1 exit status when compiling against current Debian/unstable. It looks like that's an issue of static vs dynamic library linking. When replacing: set (CFLAGS_COMMON "-std=c99 -fPIE ${CFLAGS_LINUX} ${CFLAGS_WARN} ${CFLAGS_VER}") in CMakeLists.txt with (so adding the '-fPIC' option there): set (CFLAGS_COMMON "-std=c99 -fPIE -fPIC ${CFLAGS_LINUX} ${CFLAGS_WARN} ${CFLAGS_VER}") it indeed compiles for me. Can you please take care of an according fixed package upload? regards, -mika- signature.asc Description: Digital signature
Bug#796298: tcplay: FTBFS: CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library
On Fri, Aug 21, 2015 at 10:10 AM, Chris Lamb la...@debian.org wrote: Source: tcplay Version: 1.1-2 Severity: serious Justification: fails to build from source CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library From a cursory glance, devmapper.pc specifies Requires.Private librt, which doesn't have a librt.pc (which is likely correct as it's meant to be linked statically? I'll leave it to you). You are right in the sense that without 'Requires.private:' the devmapper library is found correctly. On the other hand I don't think static linking is mandatory as libdevmapper.so.* exists and is under /lib (no need to have /usr mounted, can be used in emergency shells as well). Can be a cmake issue? Will investigate further. Laszlo/GCS
Bug#796298: tcplay: FTBFS: CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library
Source: tcplay Version: 1.1-2 Severity: serious Justification: fails to build from source User: reproducible-bui...@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org Dear Maintainer, tcplay fails to build from source on unstable/amd64: [..] -- Found PkgConfig: /usr/bin/pkg-config (found version 0.28) -- checking for module 'devmapper' -- package 'devmapper' not found -- checking for module 'uuid' -- found uuid, version 2.26.0 CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library -- Configuring incomplete, errors occurred! See also /home/lamby/temp/cdt.20150821090745.LsaNbqC5Fn/tcplay-1.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeOutput.log. dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None returned exit code 1 debian/rules:39: recipe for target 'build' failed make: *** [build] Error 2 [..] From a cursory glance, devmapper.pc specifies Requires.Private librt, which doesn't have a librt.pc (which is likely correct as it's meant to be linked statically? I'll leave it to you). The full build log is attached. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- dpkg-buildpackage -rfakeroot -D -us -uc -b dpkg-buildpackage: source package tcplay dpkg-buildpackage: source version 1.1-2 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by Laszlo Boszormenyi (GCS) g...@debian.org dpkg-source --before-build tcplay-1.1 dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean dh_clean debian/rules build dh build dh_testdir dh_auto_configure cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -- The C compiler identification is GNU 5.2.1 -- The CXX compiler identification is GNU 5.2.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version 0.28) -- checking for module 'devmapper' -- package 'devmapper' not found -- checking for module 'uuid' -- found uuid, version 2.26.0 CMake Error at CMakeLists.txt:30 (message): Could not find the devmapper library -- Configuring incomplete, errors occurred! See also /home/lamby/temp/cdt.20150821090745.LsaNbqC5Fn/tcplay-1.1/obj-x86_64-linux-gnu/CMakeFiles/CMakeOutput.log. dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None returned exit code 1 debian/rules:39: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2