[MacPorts] #40330: hugin-app: failure to compile when including boost headers
#40330: hugin-app: failure to compile when including boost headers ---------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: hugin-app boost ---------------------+-------------------------------- hugin-app (both 2012.0.0 and the latest version from RCS at the time of writing) fails to compile with boost @1.54.0, at least on Lion. The list of errors is long, but here's the first one, most likely related to a weird mixture of Apple and boost headers conflicting with each other: {{{ In file included from /work/hugin-2012.0.0/src/hugin_base/huginapp/ImageCache.h:30: In file included from /opt/local/include/boost/signal.hpp:27: In file included from /opt/local/include/boost/signals/signal0.hpp:24: In file included from /opt/local/include/boost/signals/signal_template.hpp:21: In file included from /opt/local/include/boost/signals/slot.hpp:15: In file included from /opt/local/include/boost/signals/trackable.hpp:13: In file included from /opt/local/include/boost/type_traits.hpp:35: In file included from /opt/local/include/boost/type_traits/has_operator.hpp:12: In file included from /opt/local/include/boost/type_traits/has_bit_and.hpp:43: /opt/local/include/boost/type_traits/detail/has_binary_operator.hpp:157:121: error: expected expression BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type))); ^ /opt/local/include/boost/config/suffix.hpp:393:72: note: expanded from macro 'BOOST_STATIC_CONSTANT' # define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment ^ }}} -- Ticket URL: <https://trac.macports.org/ticket/40330> MacPorts <http://www.macports.org/> Ports system for OS X
#40330: hugin-app: failure to compile when including boost headers ------------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hugin-app boost | ------------------------------+-------------------------------- Comment (by michaelld@…): I'm trying to track down a similar bug. Have you looked at [https://svn.boost.org/trac/boost/ticket/6219 this Boost ticket]? Seems like if Apple headers are included before Boost, then issues can arise because of the "#define check" in AssertMacros.h; "check" is then used by Boost's "operator_exists" in has_binary_operator.hpp (and, maybe, elsewhere). Solution is to either include boost first, or to "#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0" or "-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0" for compiling. I wish this was my issue, but it's not; maybe it will work for this ticket? -- Ticket URL: <https://trac.macports.org/ticket/40330#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#40330: hugin-app: failure to compile when including boost headers ------------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hugin-app boost | ------------------------------+-------------------------------- Comment (by mojca@…): Interesting. I had exactly that line, but I was trying to set it to one. I upgraded boost to 1.55.0b1, set this value to zero and stumbled across an weird issue with `libtiff`: {{{ In file included from /path/to/hugin- app/work/hugin-2013.0.0/src/hugin1/stitch_project/hugin_stitch_project.cpp:46: In file included from /opt/local/include/tiffio.h:33: /opt/local/include/tiff.h:78:23: error: typedef redefinition with different types ('unsigned long' vs 'uint64_t' (aka 'unsigned long long')) typedef TIFF_UINT64_T uint64; ^ //System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:53:18: note: previous definition is here typedef uint64_t uint64; ^ 2 warnings and 1 error generated. }}} but after I manually fixed that one, Hugin.app compiled fine and it seems to work. Now, I'm not exactly sure which one of the two changes (upgrading boost or setting the value to 0) made the compilation possible, but it worked for me. -- Ticket URL: <https://trac.macports.org/ticket/40330#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#40330: hugin-app: failure to compile when including boost headers ------------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hugin-app boost | ------------------------------+-------------------------------- Comment (by mojca@…): I committed the changes in r113119 and filed a new ticket for `tiff` in #41280. -- Ticket URL: <https://trac.macports.org/ticket/40330#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#40330: hugin-app: failure to compile when including boost headers ------------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hugin-app boost | ------------------------------+-------------------------------- Changes (by ryandesign@…): * status: new => closed * cc: ryandesign@… (added) * resolution: => fixed Comment: I'm not seeing this problem with hugin-app @2013.0.0 and boost @1.55.0. -- Ticket URL: <https://trac.macports.org/ticket/40330#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#40330: hugin-app: failure to compile when including boost headers ------------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hugin-app boost | ------------------------------+-------------------------------- Comment (by mojca@…): True, this particular problem must be gone, most probably `-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0` in r113119 fixed it, I just didn't close the ticket because of the problem with `tiff` back than and because I couldn't reliably confirm a successful compilation (a successful build on a buildbot would count for example ;). Thanks for closing it. -- Ticket URL: <https://trac.macports.org/ticket/40330#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts