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-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#763246: imagevis3d: FTBFS: IO/UVF/ExtendedOctree/Lz4Compression.cpp:53:44: error: 'LZ4_uncompress' was not declared in this scope

2014-09-28 Thread tom fogal
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