Opened 12 years ago

Closed 12 years ago

Last modified 5 years ago

#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)

main.log (78.2 KB) - added by icaines77@… 12 years ago.
install log
Portfile.enblend.diff (890 bytes) - added by hvdwolf@… 12 years ago.
Portfile patch to include configure patch for compination with boost 1.50
configure.in.diff (640 bytes) - added by hvdwolf@… 12 years ago.
patch file to build enblend 4.0 against boost 1.50
Portfile.diff (531 bytes) - added by raphael-st (Raphael Straub) 12 years ago.
patch-configure.in.diff (1.6 KB) - added by raphael-st (Raphael Straub) 12 years ago.
patch-filenameparse.cc.diff (975 bytes) - added by raphael-st (Raphael Straub) 12 years ago.
ryandesign.main.log (83.2 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
ryandesign.config.log (61.8 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
patch-configure.in.2.diff (2.6 KB) - added by raphael-st (Raphael Straub) 12 years ago.

Download all attachments as: .zip

Change History (32)

Changed 12 years ago by icaines77@…

Attachment: main.log added

install log

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 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 in reply to:  2 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:4 Changed 12 years ago by klinzer@…

Cc: klinzer@… added

Cc Me!

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:6 Changed 12 years ago by julien.milli@…

Cc: julien.milli@… added

Cc Me!

comment:7 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 in reply to:  7 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 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 in reply to:  10 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:12 Changed 12 years ago by raphael-st (Raphael Straub)

Cc: raphael@… added

Cc Me!

comment:13 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 in reply to:  13 Changed 12 years ago by raphael-st (Raphael Straub)

Resolution: fixed
Status: newclosed

Replying to hvdwolf@…:

yes, please do apply the changes.

Applied in r96094.

comment:15 in reply to:  13 ; 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: closedreopened

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 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 in reply to:  15 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 in reply to:  18 ; 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 in reply to:  20 ; 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 for configure.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 in reply to:  21 Changed 12 years ago by raphael-st (Raphael Straub)

Resolution: fixed
Status: reopenedclosed

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?

comment:23 Changed 5 years ago by kencu (Ken)

In b11d893b11bae20be482321ecedd2d8b8cf3b952/macports-ports (master):

enblend: update to 4.2

re-enable parallel building
disable image cache (removed)

remove MAKEINFO override hack
remove patch no longer needed

make nomaintainer:
previous maintainer has resigned port
see: #35140#comment:21

Note: See TracTickets for help on using tickets.