Opened 10 years ago
Closed 10 years ago
#46441 closed defect (fixed)
bob: build failure, moc in qt4 fails to parse has_binary_operator.hp in boost 1.57.0.
Reported by: | dbevans (David B. Evans) | Owned by: | andre.anjos@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | laurent.el-shafey@…, anddam (Andrea D'Amore), michaelld (Michael Dickens), seanfarley (Sean Farley), zhangaustin.eternal@… | |
Port: | qt4-mac qt4-x11 boost bob |
Description
On a recent rebuild, bob @1.2.2_7 fails as follows:
:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_macports_trunk_dports_science_bob/bob/work/bob-1.2.2' :info:build opt/local/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN" :info:build make[2]: *** [src/visioner/programs/vgui/moc_fmap_scene.cxx] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_macports_trunk_dports_science_bob/bob/work/bob-1.2.2' :info:build make[1]: *** [src/visioner/programs/CMakeFiles/bob_visioner_vgui.dir/all] Error 2 :info:build make[1]: *** Waiting for unfinished jobs....
Possibly an issue with boost @1.57.0.
Build log attached.
Attachments (2)
Change History (11)
Changed 10 years ago by dbevans (David B. Evans)
comment:2 follow-up: 5 Changed 10 years ago by anddam (Andrea D'Amore)
Cc: | and.damore@… added |
---|
See this Qt bug for info and possible workarounds:
- wrap the boost header (uglier solution)
- wrap inclusion of specific boost header in the library's client
- switch to Qt5 since the new moc properly expands macros.
comment:3 Changed 10 years ago by anddam (Andrea D'Amore)
Port: | boost added; bob removed |
---|
comment:4 Changed 10 years ago by anddam (Andrea D'Amore)
Port: | qt4-mac qt4-x11 added; boost removed |
---|
I set port to boost by error, the issue is actually with Qt4's moc.
comment:5 Changed 10 years ago by dbevans (David B. Evans)
Cc: | michaelld@… sean@… added |
---|---|
Port: | boost bob added |
Replying to and.damore@…:
See this Qt bug for info and possible workarounds:
- wrap the boost header (uglier solution)
- wrap inclusion of specific boost header in the library's client
- switch to Qt5 since the new moc properly expands macros.
Thanks for narrowing this down.
I've been trying to understand the inciting event that broke bob, since bob @1.2.2_6
built correctly but bob @1.2.2_7
does not. The only difference is a (unrelated) rev bump to bob due to an ABI change in hdf5.
I've confirmed that bob @1.2.2_7
will build without error if boost is reverted locally to boost @1.56.0_2+no_single+no_static+python27
(r127942).
This, in conjunction with the Qt bug report, supports the hypothesis that the problem is triggered by a specific combination of Qt version, boost version and boost includes used in bob.
In this case, combination is qt4-mac @4.8.6, boost @1.57.0 and bob @1.2.2.
The most recent comment in the Qt bug supports this hypothesis
Only for info: See also with Qt 4.8.6 + boost 1.57.0 + include <boost/signals2.hpp>
The best solution would be to fix moc in Qt 4.8.6 but the upstream bug has been closed so a work around in bob may be called for.
Copying possibly interested parties.
comment:6 Changed 10 years ago by dbevans (David B. Evans)
Summary: | bob: build failure, possible boost issue → bob: build failure, moc in qt4 fails to parse has_binary_operator.hp in boost 1.57.0. |
---|
comment:7 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | zhangaustin.eternal@… added |
---|
Has duplicate #46862.
Changed 10 years ago by andre.dos.anjos@…
Attachment: | Portfile.patch added |
---|
comment:8 Changed 10 years ago by andre.dos.anjos@…
I have attached a patch to this discussion about 3 weeks ago. I was sure I had commented on it, but now looking at the bug I see that my discussion was not attached. I may have forgot to submit those changes.
Anyway, you'll find a work around for Bob's build with the Portfile.patch attached to this discussion. I have tested it locally and it seems to compile and install Bob v1 fine.
The patch suppresses the installation of a minor/buggy part of Bob which is touched by the Qt4 dependency. Could you please apply it? Thanks in advance.
comment:9 Changed 10 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Committed in r133917. Sorry for overlooking your patch for so long. Trac apparently does not issue an email notice for just adding an attachment.
This patch fixes the build on 10.9+ but a new problem appears for the earlier platforms. Will open a separate ticket.
Build log showing error