#35140 closed defect (fixed)
enblend: build error with boost 1.50
Reported by: | icaines77@… | Owned by: | hvdwolf@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | ryandesign (Ryan Carsten Schmidt), klinzer@…, julien.milli@…, raphael-st (Raphael Straub) |
Port: | enblend |
Description
Failed build of enblend with the following error:
:info:build /usr/bin/llvm-g++-4.2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../in clude -DVIGRA_STATIC_LIB -D_THREAD_SAFE -I/opt/local/include/OpenEXR -pipe -O2 -arch x86_64 --param inline-unit-growth=60 -O2 -DNDEBUG -Wall -L/opt/local/li b -arch x86_64 -o enblend enblend-enblend.o enblend-gpu.o enblend-error_message. o enblend-filenameparse.o enblend-filespec.o enblend-self_test.o enblend-tiff_me ssage.o vigra_impex/libvigra_impex.a -lGLEW -framework GLUT -lobjc -framework O penGL -framework AGL -L/opt/local/lib -lIlmImf -lz -lImath -lHalf -lIex -lIlmTh read -lpthread -lxmi -llcms -ltiff -lpng -ljpeg -lz :info:build Undefined symbols for architecture x86_64: :info:build "boost::system::generic_category()", referenced from: :info:build global constructors keyed to commandin enblend-enblend.o :info:build "boost::system::system_category()", referenced from: :info:build global constructors keyed to commandin enblend-enblend.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build collect2: ld returned 1 exit status :info:build make[4]: *** [enblend] Error 1
Attachments (9)
Change History (32)
Changed 12 years ago by icaines77@…
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | enblend added |
---|---|
Summary: | enblend: → enblend: build error with boost 1.50 |
Incompatible with boost 1.50, no doubt. Have you already reported this to the developer of enblend? If not, please do.
comment:2 follow-up: 3 Changed 12 years ago by icaines77@…
I think you're right: the port builds successfully when boost 1.49 is reactivated. I've reported this on the enblend bugtracker.
comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added; hvdwolf@… removed |
---|---|
Owner: | changed from macports-tickets@… to hvdwolf@… |
Replying to icaines77@…:
I've reported this on the enblend bugtracker.
Thanks for filing bug 1023037.
comment:5 Changed 12 years ago by klinzer@…
i run in to nearly the same problem with "enblend" ...
(i am on mac os x 10.7.4)
i did a "port selfupdate" then "port upgrade outdated" .. then it failed with that output :
(log with identical error deleted by admin; please use an attachment next time)
comment:7 follow-up: 8 Changed 12 years ago by julien.milli@…
I experience the same problem as you, with Mac OS X 10.5.8 "port upgrade outdated" does not work any more beacause of that problem. Is there any fix, except downgrading from boost1.50 to 1.49 ?
comment:8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to julien.milli@…:
I experience the same problem as you, with Mac OS X 10.5.8 "port upgrade outdated" does not work any more beacause of that problem.
Yes, all users will be affected by this problem.
Is there any fix, except downgrading from boost1.50 to 1.49 ?
Assist the developers of enblend with developing a fix for the problem?
comment:9 Changed 12 years ago by turkowski
This is also a problem compiling with the gcc compiler, on Mac OS 10.6.8, XCode 3.2.6.
comment:10 follow-up: 11 Changed 12 years ago by hvdwolf@…
I already made a patch but it doesn't function. It has to do with my lack of knowledge how Port files work. I will include the configure.in.diff and the Portfile.enblend.diff and I hope that a macports guru can solve it.
Changed 12 years ago by hvdwolf@…
Attachment: | Portfile.enblend.diff added |
---|
Portfile patch to include configure patch for compination with boost 1.50
Changed 12 years ago by hvdwolf@…
Attachment: | configure.in.diff added |
---|
patch file to build enblend 4.0 against boost 1.50
comment:11 Changed 12 years ago by raphael-st (Raphael Straub)
Keywords: | haspatch added |
---|---|
Version: | 2.1.1 |
Replying to hvdwolf@…:
I already made a patch but it doesn't function. It has to do with my lack of knowledge how Port files work. I will include the configure.in.diff and the Portfile.enblend.diff and I hope that a macports guru can solve it.
Your Portfile is OK but you missed some changes in your patch for configure.in
. I managed to compile enblend with the attached patches that I basically got from this and this upstream patch.
May I commit these changes?
Changed 12 years ago by raphael-st (Raphael Straub)
Attachment: | Portfile.diff added |
---|
Changed 12 years ago by raphael-st (Raphael Straub)
Attachment: | patch-configure.in.diff added |
---|
Changed 12 years ago by raphael-st (Raphael Straub)
Attachment: | patch-filenameparse.cc.diff added |
---|
comment:13 follow-ups: 14 15 Changed 12 years ago by hvdwolf@…
yes, please do apply the changes.
Actually I'm no longer on OSX. I moved back to linux now that my macbook got really old. I hardly use my macbook anymore.
comment:14 Changed 12 years ago by raphael-st (Raphael Straub)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:15 follow-up: 19 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to hvdwolf@…:
Actually I'm no longer on OSX. I moved back to linux now that my macbook got really old. I hardly use my macbook anymore.
Are you still interested in maintaining your ports (autopano-sift-c, enblend, hugin-app) or should we assign them to someone else?
comment:16 Changed 12 years ago by raphael-st (Raphael Straub)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hm, on the Lion and Snow Leopard buildbots (both x86_64) configure still says
checking for boost/filesystem.hpp... yes configure: Boost "filesystem" header or library not found. Using built-in support.
and the build fails because the enblend binary is linked with no boost library at all. On my Snow Leopard i386 system enblend builds fine with boost.
Can anybody attach a config.log
of a failed build to this ticket?
comment:17 Changed 12 years ago by raphael-st (Raphael Straub)
Keywords: | haspatch removed |
---|
Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | ryandesign.main.log added |
---|
Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | ryandesign.config.log added |
---|
comment:18 follow-up: 20 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
I've attached my main.log and config.log from a failed build on Mountain Lion. The relevant line in the config.log seems to be:
ld: library not found for -lboost_filesystem
This probably corresponds with an unrelated change that was made to boost in r95845 turning off building of the single-threaded versions of the boost libraries by default, leaving only the multithreaded libraries:
$ port contents boost |grep filesystem.*dylib /opt/local/lib/libboost_filesystem-mt.dylib
So enblend needs to be doing -lboost_filesystem-mt etc. instead.
comment:19 Changed 12 years ago by hvdwolf@…
Replying to ryandesign@…:
Replying to hvdwolf@…:
Actually I'm no longer on OSX. I moved back to linux now that my macbook got really old. I hardly use my macbook anymore.
Are you still interested in maintaining your ports (autopano-sift-c, enblend, hugin-app) or should we assign them to someone else?
I think autopano-sift-c and enblend should be assigned to someone else. Note that autopano-sift-c will no longer be further developed.
Hugin-app is slightly different. I have been the hugin bundle maintainer for quite some, e.g. outside macports and inside XCode, but I had hoped to be able to fix the current hugin issue (https://trac.macports.org/ticket/31778). That is not for the current release and not for the new to be released 2012.0 (almost there). I modified the current development trunk (future 2012.2 release) of hugin to compile against cocoa and wxwidgets. This makes it possible to overcome the current unsolvable issue and makes hugin also 64bit compliant. I will still monitor that as I will stay connected to hugin (currently release manager for current release) so I hesitate about already "leaving" hugin-app. I will also try to backport that to 2012.0. I'm still too attached to hugin.
comment:20 follow-up: 21 Changed 12 years ago by raphael-st (Raphael Straub)
Keywords: | haspatch added |
---|
Replying to ryandesign@…:
I've attached my main.log and config.log from a failed build on Mountain Lion. The relevant line in the config.log seems to be:
ld: library not found for -lboost_filesystem
This probably corresponds with an unrelated change that was made to boost in r95845 turning off building of the single-threaded versions of the boost libraries by default, leaving only the multithreaded libraries:
Yes, this is the problem. My boost installation has both single- and multi-threaded libraries.
I found out that configure
does not check for pthread support and therefore does not try to link with the multi-threaded boost libraries. The attached patch for configure.in
fixes it for me. Maintainer, may I commit it?
Changed 12 years ago by raphael-st (Raphael Straub)
Attachment: | patch-configure.in.2.diff added |
---|
comment:21 follow-up: 22 Changed 12 years ago by hvdwolf@…
Replying to raphael@…:
Replying to ryandesign@…:
I found out that
configure
does not check for pthread support and therefore does not try to link with the multi-threaded boost libraries. The attached patch forconfigure.in
fixes it for me. Maintainer, may I commit it?
Yes, please do apply the patch. If you want to become the maintainer of macports enblend please say so. I fully agree with that and I would love it if someone would take over
comment:22 Changed 12 years ago by raphael-st (Raphael Straub)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Replying to hvdwolf@…:
Yes, please do apply the patch.
Applied in r96127.
If you want to become the maintainer of macports enblend please say so. I fully agree with that and I would love it if someone would take over
I only use enblend very rarely. So, I propose to take co-maintainership. Maybe it would also help to add openmaintainer to enblend. Or is there anybody else who would like to take over maintainership of enblend?
install log