Bug#653796: FTBFS with Boost 1.48: has_binary_operator.hp:50: Parse error at "BOOST_JOIN"

Steve M. Robbins smr at debian.org
Sat Dec 31 01:01:21 UTC 2011


Source: qt-gstreamer
Version: 0.10.1-2
Severity: normal

Package fails to build with new Boost 1.48:

make[4]: Leaving directory `/home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu'
make -f src/QGlib/CMakeFiles/QtGLib_automoc.dir/build.make src/QGlib/CMakeFiles/QtGLib_automoc.dir/build
make[4]: Entering directory `/home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu'
cd /home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu/src/QGlib && /usr/bin/automoc4 /home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu/src/QGlib/QtGLib_automoc.cpp /home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/src/QGlib /home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu/src/QGlib /usr/bin/moc-qt4 /usr/bin/cmake
Generating connect.moc
usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
automoc4: process for /home/steve/Packages/boost-defaults/rebuilds/build/qt-gstreamer/qt-gstreamer-0.10.1/obj-x86_64-linux-gnu/src/QGlib/connect.moc failed: Unknown error
pid to wait for: 0
returning failed..
make[4]: *** [src/QGlib/CMakeFiles/QtGLib_automoc] Error 1


The parse error is from Qt's tools moc and lconvert.  These tools do
not handle the entire C++ language; see the Qt issue
https://bugreports.qt.nokia.com/browse/QTBUG-22829

The workaround is to abuse the Boost header guards by defining it
on the moc/lconvert command line, thus avoiding having to parse
the boost headers.  Pass -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
to the moc invocation.  If using cmake:

  QT4_WRAP_CPP(sources ${moc-sources} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)




-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash





More information about the pkg-gstreamer-maintainers mailing list