[Debian-med-packaging] Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'

Tom Fogal tfogal at sci.utah.edu
Thu Aug 25 16:33:10 UTC 2016


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_string<char, std::char_traits<char>, std::allocator<char> >&)':
>   ./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<tuvok::MasterController>::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



More information about the Debian-med-packaging mailing list