** Changed in: enblend
Status: New => Fix Committed
** Changed in: enblend
Importance: Undecided => Medium
** Changed in: enblend
Assignee: (unassigned) => Christoph Spiel (cspiel)
--
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Enblend.
https://bugs.launchpad.net/bugs/685904
Title:
boost build issue with -Wl,--as-needed or binutils-gold
Status in Enblend:
Fix Committed
Bug description:
Hello,
programs including the boost_filesystem headers also should be linked against
*both* boost_filesystem headers and boost system, since boost_system functions
are invoked directly via inline functions in the boost_filesystem headers. The
autoconf setup of enblend-enfuse does not do this.
enblend 4.0 will therefore fail to build from source if binutils-gold is used
or LDFLAGS="-Wl,--as-needed" is set:
----------------------------------------------------------------
i686-linux-gnu-g++ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../../include
-DVIGRA_STATIC_LIB -pthread -I/usr/include/OpenEXR -Wall -g -O2 -fopenmp
-Wl,-Bsymbolic-functions -o enblend enblend-enblend.o enblend-gpu.o
enblend-error_message.o enblend-filenameparse.o enblend-filespec.o
enblend-self_test.o enblend-tiff_message.o vigra_impex/libvigra_impex.a -lGLEW
-lGLU -lGL -lm -lglut -lGLU -lGL -lm -lboost_filesystem -pthread -lIlmImf
-lz -lImath -lHalf -lIex -lIlmThread -lxmi -llcms -ltiff -lpng -ljpeg -lz
enblend-filenameparse.o: In function
`__static_initialization_and_destruction_0':
/usr/include/boost/system/error_code.hpp:208: undefined reference to
`boost::system::get_system_category()'
/usr/include/boost/system/error_code.hpp:209: undefined reference to
`boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:214: undefined reference to
`boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:215: undefined reference to
`boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:216: undefined reference to
`boost::system::get_system_category()'
collect2: ld returned 1 exit status
make[5]: *** [enblend] Error 1
-----------------------------------------------
hg head behaves slightly differently, the autoconf test fails and the build
falls back to Boost's generic filename parsing. The cmake setup already checks
for both libraries afaict.
FWIW Ubuntu linux has recently enabled LDFLAGS="-Wl,--as-needed" by default.
Works-for-me patch attached.
_______________________________________________
Mailing list: https://launchpad.net/~hugin-devs
Post to : [email protected]
Unsubscribe : https://launchpad.net/~hugin-devs
More help : https://help.launchpad.net/ListHelp