[arch-dev-public] QT4 moc fails to parse BOOST_JOIN macro of boost 1.53

Lukas Jirkovsky l.jirkovsky at gmail.com
Thu Mar 28 15:03:40 EDT 2013


On 28 March 2013 18:43, Stéphane Gaudreault <stephane at archlinux.org> wrote:
> Some packages (e.g. avogadro) using the BOOST_JOIN macro of boost 1.53 fails
> to build because of a bug in the Qt MOC compiler.
> Fedora appears to have a workaround [2]. Would it be possible for someone
> who knows QT to look at this?
>
> Regards,
>
> Stéphane
>
> [1] https://bugreports.qt-project.org/browse/QTBUG-22829
> [2]
> http://pkgs.fedoraproject.org/cgit/qt.git/tree/qt-everywhere-opensource-src-4.8.4-QTBUG-22829.patch

Yes, this should be a working workaround. It basically disables
parsing of the problematic boost headers by automoc by defining their
include guards.

I've already implemented this workaround in fatrat[1] and
luxrender[2]. The only difference between how I used this workaround
and how it's used in fedora is that I'm explicitly setting these
parameters while compiling something using automoc, while the fedora
makes them default for every automoc run (so they don't need to be set
explicitly).

[1] https://projects.archlinux.org/svntogit/community.git/tree/trunk/QTBUG-22829-workaround.diff?h=packages/fatrat
[2] https://projects.archlinux.org/svntogit/community.git/tree/trunk/boost-1.53-shared_array_constructor.diff?h=packages/luxrender

Lukas


More information about the arch-dev-public mailing list