Package: libqt4-dev-bin
Version: 4:4.8.7+dfsg-13
Severity: normal
Tags: patch
File: /usr/bin/moc-qt4

Dear Maintainer,

I tried to rebuild kopete from source and got errors such as these:

Generating s5b.moc
/mnt/extras/src/kopete-17.08.3/protocols/jabber/libiris/src/irisnet/noncore/cutestuff/bytestream.h:52:
 Parse error at "defined"

Apparently this is caused by a nonconformity of moc's preprocessor which
manifests itself when macro

major(arg)

is defined, as, unfortunately file <sys/sysmacros.h> does. The line 52
in the error message refers to a line in this particular file (not in
the file it reports, which is a bit confusing.

This has been noted before. I have found a rethat bugreprot of the same
problem here: https://bugzilla.redhat.com/show_bug.cgi?id=1396755. Their
solution is to work it around by a hack that filters that particular
include out. A proper fix would be to make the preprocessor correct, but
that would require too much work.

Therefore, I propose this patch, that, in line with redhat hacks it
around. I've checked that with the patch, kopete builds successfully.

Index: qt4-x11-4.8.7+dfsg/src/tools/moc/main.cpp
===================================================================
--- qt4-x11-4.8.7+dfsg.orig/src/tools/moc/main.cpp
+++ qt4-x11-4.8.7+dfsg/src/tools/moc/main.cpp
@@ -191,6 +191,7 @@ int runMoc(int _argc, char **_argv)
     // Workaround a bugs while parsing some boost headers. See QTBUG-22829 
     pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
     pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
+    pp.macros["_SYS_SYSMACROS_H_OUTER"];
 
     QByteArray filename;
     QByteArray output;
Regards
    Jiri Palecek

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 4.14.0-rc3-bughunt (SMP w/2 CPU cores)
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2), LANGUAGE=cs_CZ 
(charmap=ISO-8859-2)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libqt4-dev-bin depends on:
ii  libc6              2.27-2
ii  libgcc1            1:8-20180312-2
ii  libqt4-qt3support  4:4.8.7+dfsg-13.1
ii  libqt4-xml         4:4.8.7+dfsg-13.1
ii  libqtcore4         4:4.8.7+dfsg-13.1
ii  libqtdbus4         4:4.8.7+dfsg-13.1
ii  libqtgui4          4:4.8.7+dfsg-13.1
ii  libstdc++6         8-20180312-2
ii  qtchooser          64-ga1b6736-4
ii  zlib1g             1:1.2.8.dfsg-5

libqt4-dev-bin recommends no packages.

libqt4-dev-bin suggests no packages.

-- no debconf information

Reply via email to