Summary: | media-gfx/enblend-4.0: fails to build with >=dev-libs/boost-1.50 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Diego Elio Pettenò (RETIRED) <flameeyes> |
Component: | New packages | Assignee: | Gentoo Graphics Project <graphics+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | manschwetus, zima |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://tinderboxlogs.s3.amazonaws.com/tbamd64.excelsior.flameeyes.eu/media-gfx%3Aenblend-4.0%3A20120708-203811.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 425188 | ||
Attachments: | enblend-4.0-r1 with boost filesystem |
Description
Diego Elio Pettenò (RETIRED)
2012-07-09 09:22:33 UTC
This is still true for boost 1.53 :-( I get the following error while building enblend: x86_64-pc-linux-gnu-g++ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../include -DVIGRA_STATIC_LIB -pthread -I/usr/include/OpenEXR -O2 -march=core2 -pipe -msse3 -fomit-frame-pointer --param inline-unit-growth=60 -O2 -DNDEBUG -Wall -fopenmp -Wl,-O1 -Wl,--as-needed -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 -pthread -lIlmImf -lz -lImath -lHalf -lIex -lIlmThread -lxmi -llcms -ltiff -lpng -ljpeg -lz enblend-enblend.o: In function `global constructors keyed to command': enblend.cc:(.text+0xf370): undefined reference to `boost::system::generic_category()' enblend.cc:(.text+0xf37c): undefined reference to `boost::system::generic_category()' enblend.cc:(.text+0xf388): undefined reference to `boost::system::system_category()' collect2: ld a retourné 1 code d'état d'exécution make[4]: *** [enblend] Erreur 1 make[4] : on quitte le répertoire « /var/tmp/portage/media-gfx/enblend-4.0/work/enblend-enfuse-4.0-753b534c819d/src » make[3]: *** [all-recursive] Erreur 1 make[3] : on quitte le répertoire « /var/tmp/portage/media-gfx/enblend-4.0/work/enblend-enfuse-4.0-753b534c819d/src » make[2]: *** [all] Erreur 2 make[2] : on quitte le répertoire « /var/tmp/portage/media-gfx/enblend-4.0/work/enblend-enfuse-4.0-753b534c819d/src » make[1]: *** [all-recursive] Erreur 1 make[1] : on quitte le répertoire « /var/tmp/portage/media-gfx/enblend-4.0/work/enblend-enfuse-4.0-753b534c819d » make: *** [all] Erreur 2 emake failed Interesting. According to "Comment 4" on https://bugs.launchpad.net/enblend/+bug/1023037 you need to add --with-boost-filesystem to ./configure. It still fails to build, but with another error: filenameparse.cc:53:9: erreur: ‘basic_path’ in namespace ‘boost::filesystem’ does not name a type filenameparse.cc: In function ‘bool enblend::isRelativePath(const std::string&)’: filenameparse.cc:63:11: erreur: ‘basic_path’ does not name a type etc. I found this patch, but this too doesn't solve the "namespace" issue (Comment 2): http://www.openmamba.org/showfile.html?file=/pub/openmamba/devel/patches/enblend-enfuse-4.0-boost-1.50.patch Ok, so this is how to get it to work: 1) Patch enblend-4.0 with https://launchpadlibrarian.net/68863330/enblend.patch and 2) add --with-boost-filesystem to the ./configure options in the ebuild, by adding the line myconf="${myconf} --with-boost-filesystem" in the section src_configure() I don't know who is responsible for this package, but please create an updated ebuild. Note: This is only for boost >=1.50 @Jonathan, no enblend with filesystem boost-1.52.0 doesn't compile with your ubuntu patch: enblend.cc:(.text.startup+0x36b1): undefined reference to `boost::system::generic_category()' enblend.cc:(.text.startup+0x36bd): undefined reference to `boost::system::generic_category()' enblend.cc:(.text.startup+0x36c9): undefined reference to `boost::system::system_category()' collect2: error: ld returned 1 exit status make[4]: *** [enblend] Error 1 I think it is the same ending of compile as above #1 comment .... Oh no! You're right. This ubuntu patch worked for me, but I only tried it with boost 1.51. Sorry about that. Strange. I thought I had tried with boost 1.53... Let me check Sorry, my mistake. So the patch definitely works with unstable (but unmasked) boost-1.51.0-r1. I will have to check with 1.52... Sorry about my first comment, it probably sounded a bit weird. Anyway, I just compiled enblend against boost-1.52 without any problems. I applied the ubuntu patch AND added myconf="${myconf} --with-boost-filesystem" to the configure() section in the ebuild, and it compiled just fine. I hope this helps? @Jonathan, Upps, then I made an error editing the ebuild. Please, could you attach your resulting ebuild (with a named files/Ubuntu.patch - I will recognize). Created attachment 328808 [details]
enblend-4.0-r1 with boost filesystem
At last I got it howto edit enblend ebuild
Success compiling this ebuild with haveboostfilesystem.patch from Ubuntu!
As I see you figured it out. Thank you very much for the updated ebuild! I hope it makes its way into portage soon... is this fixed in media-gfx/enblend-4.1_rc1 (in my overlay)? After renaming the patch from https://launchpadlibrarian.net/68863330/enblend.patch to enblend-4.0-haveboostfilesystem.patch I could successfully emerge enblend-4.0. this should be fixed in enblend-4.1. *enblend-4.1 (09 Dec 2012) 09 Dec 2012; Markus Meier <maekke@gentoo.org> +enblend-4.1.ebuild: version bump |