Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'

2016-11-17 Thread Graham Inggs
Control: tags -1 patch

Hi Maintainer

The attached patch links libboost_serialization, as suggested by Tom
Fogal, and fixes the FTBFS with Boost 1.61.

I also found the build dependency on libboost-all-dev can be replaced
by libboost-serialization-dev, as follows:

--- a/debian/control
+++ b/debian/contro
@@ -9,7 +9,7 @@
debhelper (>= 9),
flex,
g++ (>= 4:4.6),
-   libboost-all-dev,
+   libboost-serialization-dev,
libbz2-dev,
libglew-dev,
libjpeg-dev,

Regards
Graham


boost_serialization.patch
Description: application/empty


Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'

2016-09-22 Thread Tom Fogal
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_string std::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()'

2016-09-20 Thread peter green


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 ?


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 
../Build/objects/BrowseData.o ../Build/objects/ImageVis3D.o 
../Build/objects/ImageVis3D_Capturing.o 
../Build/objects/ImageVis3D_Progress.o 
../Build/objects/ImageVis3D_1DTransferFunction.o 
../Build/objects/ImageVis3D_2DTransferFunction.o 
../Build/objects/ImageVis3D_FileHandling.o 
../Build/objects/ImageVis3D_WindowHandling.o 
../Build/objects/ImageVis3D_DebugWindow.o 
../Build/objects/ImageVis3D_Settings.o 
../Build/objects/ImageVis3D_Locking.o 
../Build/objects/ImageVis3D_Stereo.o ../Build/objects/ImageVis3D_Help.o 
../Build/objects/ImageVis3D_I3M.o ../Build/objects/PleaseWait.o 
../Build/objects/Welcome.o ../Build/objects/MDIRenderWin.o 
../Build/objects/MetadataDlg.o ../Build/objects/AboutDlg.o 
../Build/objects/URLDlg.o ../Build/objects/FTPDialog.o 
../Build/objects/BugRepDlg.o ../Build/objects/LODDlg.o 
../Build/objects/QTransferFunction.o 
../Build/objects/Q1DTransferFunction.o 
../Build/objects/Q2DTransferFunction.o 
../Build/objects/QDataRadioButton.o ../Build/objects/QLightPreview.o 
../Build/objects/RenderWindowGL.o ../Build/objects/RenderWindow.o 
../Build/objects/BasicSettingsDlg.o ../Build/objects/SettingsDlg.o 
../Build/objects/RAWDialog.o ../Build/objects/MIPRotDialog.o 
../Build/objects/MergeDlg.o ../Build/objects/CrashDetDlg.o 
../Build/objects/ScaleAndBiasDlg.o ../Build/objects/QTOut.o 
../Build/objects/QTLabelOut.o ../Build/objects/DialogConverter.o 
../Build/objects/main.o ../Build/objects/DebugScriptWindow.o 
../Build/objects/moc_SettingsDlg.o 
../Build/objects/moc_BasicSettingsDlg.o 
../Build/objects/moc_BrowseData.o ../Build/objects/moc_ImageVis3D.o 
../Build/objects/moc_PleaseWait.o ../Build/objects/moc_FTPDialog.o 
../Build/objects/moc_QTransferFunction.o 
../Build/objects/moc_Q1DTransferFunction.o 
../Build/objects/moc_Q2DTransferFunction.o 
../Build/objects/moc_QLightPreview.o 
../Build/objects/moc_RenderWindowGL.o ../Build/objects/moc_RAWDialog.o 
../Build/objects/moc_MIPRotDialog.o ../Build/objects/moc_Welcome.o 
../Build/objects/moc_MetadataDlg.o ../Build/objects/moc_AboutDlg.o 
../Build/objects/moc_URLDlg.o ../Build/objects/moc_BugRepDlg.o 
../Build/objects/moc_LODDlg.o ../Build/objects/moc_MergeDlg.o 
../Build/objects/moc_CrashDetDlg.o 
../Build/objects/moc_ScaleAndBiasDlg.o 
../Build/objects/moc_DebugScriptWindow.o 
../Build/objects/qrc_ImageVis3D.o-L../Tuvok/Build 
-L../Tuvok/IO/expressions -L/usr/lib/arm-linux-gnueabihf 
-L/usr/X11R6/lib -lTuvok -ltuvokexpr -lz -llua5.2 -lGLEW -ltiff -lbz2 
-fopenmp -llz4 -lGLU -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lGL -lpthread
../Tuvok/Build/libTuvok.a(SysTools.o): In function 
`SysTools::GetTempDirectory(std::__cxx11::basic_string&)':
./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()'
/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/objects/ImageVis3D_WindowHandling.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:233: recipe for target '../Build/ImageVis3D' failed
make[2]: *** [../Build/ImageVis3D] Error 1
make[2]: Leaving directory '/imagevis3d-3.1.0/ImageVis3D'
Makefile:80: recipe for target 'sub-ImageVis3D-make_default-ordered' failed
make[1]: *** [sub-ImageVis3D-make_default-ordered] Error 2
make[1]: Leaving directory '/imagevis3d-3.1.0'
dh_auto_build: make -j4 returned exit code 2
debian/rules:5: recipe for target 'build' failed
make: *** [build] Error 25
dpkg-buildpackage: error: debian/rules build gave error exit status 2



Bug#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'

2016-08-25 Thread Tom Fogal
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 std::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#835416: imagevis3d: FTBFS: singleton.hpp:131: undefined reference to `boost::serialization::singleton_module::is_locked()'

2016-08-25 Thread Chris Lamb
Source: imagevis3d
Version: 3.1.0-4
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,

imagevis3d fails to build from source in unstable/amd64:

  [..]

  IO/IOManager.h:272:8: warning: 'template class std::auto_ptr' is 
deprecated [-Wdeprecated-declarations]
 std::auto_ptr   m_dsFactory;
  ^~~~
  In file included from /usr/include/c++/6/bits/locale_conv.h:41:0,
   from /usr/include/c++/6/locale:43,
   from /usr/include/c++/6/iomanip:43,
   from ./Basics/Vectors.h:73,
   from IO/AbstrConverter.h:46,
   from IO/RAWConverter.h:46,
   from IO/TiffVolumeConverter.h:43,
   from IO/TiffVolumeConverter.cpp:41:
  /usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
 template class auto_ptr;
  ^~~~
  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 -std=c++0x 
-fno-strict-aliasing -fopenmp -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 -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/TTIFFWriter.o 
IO/TTIFFWriter/TTIFFWriter.cpp
  IO/Quantize.h:233:19: warning: 'bool {anonymous}::Fits::inXBits(T) [with T = 
unsigned char; long unsigned int sz = 4096ul]' defined but not used 
[-Wunused-function]
 template<> bool inXBits(uint8_t) { return true; }
 ^~
  IO/Quantize.h:231:19: warning: 'bool {anonymous}::Fits::inXBits(T) [with T = 
signed char; long unsigned int sz = 4096ul]' defined but not used 
[-Wunused-function]
 template<> bool inXBits(int8_t) { return true; }
 ^
  IO/Quantize.h:230:19: warning: 'bool {anonymous}::Fits::inXBits(T) [with T = 
signed char; long unsigned int sz = 256ul]' defined but not used 
[-Wunused-function]
 template<> bool inXBits(int8_t) { return true; }
 ^~~~
  In file included from IO/Quantize.h:41:0,
   from IO/RAWConverter.cpp:57:
  ./Basics/ctti.h:138:17: warning: '{anonymous}::signed_type 
{anonymous}::type_category(signed char)' defined but not used 
[-Wunused-function]
 signed_type   type_category(signed char){ return signed_type(); }
   ^
  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 -std=c++0x 
-fno-strict-aliasing -fopenmp -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 -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/TuvokJPEG.o 
IO/TuvokJPEG.cpp
  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 -std=c++0x 
-fno-strict-aliasing -fopenmp -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 -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