Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'
Hi, thanks for looking into this. On 09/20/2016 02:45 AM, peter green wrote: >> 1. It's failing in the doc/genlua stuff, which is an internal tool meant >> to generate documentation that is currently unfinished. Arguably it >> should be removed from source releases anyway. So a simple fix is for >> debian to just remove this directory from SUBDIRS in TuvokSubdirs.pro. > > I don't see a file called TuvokSubdirs.pro , I guess you mean > Tuvok/Tuvok.pro ? Ahh, this must just be an older version, mea culpa. Yeah, IIRC it would be there. > Anyway I removed doc/genlua from SUBDIRS in Tuvok/Tuvok.pro and tried a > build in raspbian stretch. > > Unfortunately it failed with > > g++ -fopenmp -Wl,-z,relro -o ../Build/ImageVis3D [snip] > ../Tuvok/Build/libTuvok.a(SysTools.o): In function > `SysTools::GetTempDirectory(std::__cxx11::basic_stringstd::char_traits, std::allocator >&)': > ./Tuvok/Basics/SysTools.cpp:1060: warning: the use of `tmpnam' is > dangerous, better use `mkstemp' > ../Build/objects/ImageVis3D_WindowHandling.o: In function > `boost::serialization::singleton::get_mutable_instance()': > /usr/include/boost/serialization/singleton.hpp:131: undefined reference > to `boost::serialization::singleton_module::is_locked()' Yes, this is the same issue that was causing 'genlua' to fail; looks like simply removing that code wasn't a great workaround. Sorry. I dug a bit deeper, by downloading boost 1.61 and verifying that, indeed, the singleton.hpp included there is NOT a header-only library, yet the one included in Tuvok's 3rdParty directory IS a header-only library. Looking closer at the build log, I note that it is missing many of the -I options that upstream has. Notably in this case: -IIO/3rdParty/boost. This in turn causes it to use the system copy of boost, which has changed behavior to require a new link option. I can think of a number of solutions: * build-dep require a similar version of boost on the system. I can confirm 1.58 is fine. Note that the runtime is irrelevant since IV3D restricts itself to header-only parts of boost. * don't hack out the -I flags from upstream so that IV3D uses its internal copy of boost. * edit the .pro files to force this to link against libboost_serialization.so.
Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'
Hi, I have a couple ideas as to what's going wrong / how to fix this. 1. It's failing in the doc/genlua stuff, which is an internal tool meant to generate documentation that is currently unfinished. Arguably it should be removed from source releases anyway. So a simple fix is for debian to just remove this directory from SUBDIRS in TuvokSubdirs.pro. 2. There is an internal copy of this aspect of boost, but for some reason the system's boost is the one getting picked up. Worse, it seems the system version actually changes behavior of the library, notably from header-only to be an actual library that needs to be linked against. Boost probably has a define that one can set that forces header-only behavior. If someone wants to look into that, I'd be happy to add an appropriate #define upstream. On 08/25/2016 06:01 AM, Chris Lamb wrote: > ar cqs libTuvok.a Build/objects/Appendix.o Build/objects/ArcBall.o [snip] > rm -f Build/libTuvok.a > mv -f libTuvok.a Build/ > make[3]: Leaving directory > '/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0/Tuvok' > cd doc/genlua/ && make -f Makefile > make[3]: Entering directory > '/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0/Tuvok/doc/genlua' > g++ -c -fopenmp -DPACKAGE_MANAGER -g -O2 > -fdebug-prefix-map=/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0=. > -fstack-protector-strong -Wformat -Werror=format-security > -Wno-unknown-pragmas -std=c++0x -fno-strict-aliasing -g -O2 > -fdebug-prefix-map=/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0=. > -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time > -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB > -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE > -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore > -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 > -I../.. -I/usr/include/lua5.2 -I/usr/X11R6/include -I. -o main.o main.cpp > g++ -m64 -fopenmp -Wl,-z,relro -o bluebook main.o-L../../Build > -L../../IO/expressions -L/usr/lib/x86_64-linux-gnu -L/usr/X11R6/lib64 -lTuvok > -ltuvokexpr -lz -llua5.2 -lGLEW -ltiff -lbz2 -llzma -llz4 -lGLU -lGL > -lQtOpenGL -lQtGui -lQtCore -lGL -lpthread > ../../Build/libTuvok.a(SysTools.o): In function > `SysTools::GetTempDirectory(std::__cxx11::basic_stringstd::char_traits, std::allocator >&)': > ./Tuvok/Basics/SysTools.cpp:1060: warning: the use of `tmpnam' is > dangerous, better use `mkstemp' > ../../Build/libTuvok.a(LinesGeoConverter.o): In function > `boost::serialization::singleton::get_mutable_instance()': > /usr/include/boost/serialization/singleton.hpp:131: undefined reference to > `boost::serialization::singleton_module::is_locked()' > /usr/include/boost/serialization/singleton.hpp:131: undefined reference to > `boost::serialization::singleton_module::is_locked()' > /usr/include/boost/serialization/singleton.hpp:131: undefined reference to > `boost::serialization::singleton_module::is_locked()' > /usr/include/boost/serialization/singleton.hpp:131: undefined reference to > `boost::serialization::singleton_module::is_locked()' > /usr/include/boost/serialization/singleton.hpp:131: undefined reference to > `boost::serialization::singleton_module::is_locked()' > > ../../Build/libTuvok.a(PLYGeoConverter.o):/usr/include/boost/serialization/singleton.hpp:131: > more undefined references to > `boost::serialization::singleton_module::is_locked()' follow > collect2: error: ld returned 1 exit status > Makefile:99: recipe for target 'bluebook' failed > make[3]: *** [bluebook] Error 1 > make[3]: Leaving directory > '/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0/Tuvok/doc/genlua' > Makefile:111: recipe for target 'sub-doc-genlua-make_default-ordered' failed > make[2]: *** [sub-doc-genlua-make_default-ordered] Error 2 > make[2]: Leaving directory > '/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0/Tuvok' > Makefile:44: recipe for target 'sub-Tuvok-make_default-ordered' failed > make[1]: *** [sub-Tuvok-make_default-ordered] Error 2 > make[1]: Leaving directory > '/home/lamby/temp/cdt.20160825134948.1It773RQbs.db.imagevis3d/imagevis3d-3.1.0' > dh_auto_build: make -j9 returned exit code 2 > debian/rules:5: recipe for target 'build' failed > make: *** [build] Error 25
Bug#763246: imagevis3d: FTBFS: IO/UVF/ExtendedOctree/Lz4Compression.cpp:53:44: error: 'LZ4_uncompress' was not declared in this scope
Since there's not a missing include error, I guess liblz4-dev's version was updated and the API changed. Can anyone confirm? On 09/28/2014 10:45 AM, David Suárez wrote: Source: imagevis3d Version: 3.1.0-3 Severity: serious Tags: jessie sid User: debian...@lists.debian.org Usertags: qa-ftbfs-20140926 qa-ftbfs Justification: FTBFS on amd64 Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): g++ -c -fopenmp -DPACKAGE_MANAGER -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -fno-strict-aliasing -fopenmp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -D_REENTRANT -Wall -W -DLZHAM_ANSI_CPLUSPLUS=1 -D_7ZIP_ST=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I. -IIO/3rdParty/lzham -I/usr/include/lzma -IBasics -IIO/exception -I/usr/include/lua5.2 -I/usr/X11R6/include -I. -o Build/objects/Lz4Compression.o IO/UVF/ExtendedOctree/Lz4Compression.cpp IO/UVF/ExtendedOctree/Lz4Compression.cpp: In function 'void lz4Decompress(std::shared_ptrunsigned char, std::shared_ptrunsigned char, size_t)': IO/UVF/ExtendedOctree/Lz4Compression.cpp:53:44: error: 'LZ4_uncompress' was not declared in this scope outputSize); ^ make[3]: *** [Build/objects/Lz4Compression.o] Error 1 The full build log is available from: http://aws-logs.debian.net/ftbfs-logs/2014/09/26/imagevis3d_3.1.0-3_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! About the archive rebuild: The rebuild was done on EC2 VM instances from Amazon Web Services, using a clean, minimal and up-to-date chroot. Every failed build was retried once to eliminate random failures. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org