Bug#820070: regression: fails to build c++ headers
Package: dh-acc
Version: 1.99.14-1
Severity: important
Hi,
I've been using dh-acc as part of the KDE autopkgtests for a while now, sadly
the new version seems to fail C++ projects, where the version in stable works
fine.
I'm using the following acc file:
<?xml version="1.0" encoding="utf-8"?>
<descriptor>
<version>
5.4.0
</version>
<headers>
/usr/include/KF5/KCoreAddons/
</headers>
<libs>
/usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so
</libs>
<gcc_options>
-fPIC
-std=c++11
-I/usr/include/x86_64-linux-gnu/qt5
-include /usr/include/x86_64-linux-gnu/qt5/QtCore/QString
</gcc_options>
</descriptor>
The output generated is:
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41:0,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
from <command-line>:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:42:1: error: unknown type name ‘class’
class QString;
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:46:1: error: expected specifier-qualifier-list before ‘public’
public:
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:56:1: warning: data definition has no type or storage class
class Q_CORE_EXPORT QChar {
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:56:1: warning: type defaults to ‘int’ in declaration of ‘class’ [-Wimplicit-int]
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:56:21: error: expected ‘,’ or ‘;’ before ‘QChar’
class Q_CORE_EXPORT QChar {
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:537:1: warning: data definition has no type or storage class
Q_DECLARE_TYPEINFO(QChar, Q_MOVABLE_TYPE);
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:537:1: warning: type defaults to ‘int’ in declaration of ‘Q_DECLARE_TYPEINFO’ [-Wimplicit-int]
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:537:1: warning: parameter names (without types) in function declaration
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:539:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:540:25: error: unknown type name ‘QChar’
Q_DECL_CONSTEXPR inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:540:36: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:542:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
inline void QChar::setCell(uchar acell)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:544:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
inline void QChar::setRow(uchar arow)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:547:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isSpace(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:547:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isSpace(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:553:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isLetter(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:553:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isLetter(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:558:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isNumber(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:558:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isNumber(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:560:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isLetterOrNumber(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:560:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isLetterOrNumber(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:566:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isDigit(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:566:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isDigit(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:568:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isLower(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:568:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isLower(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:570:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isUpper(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:570:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isUpper(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:572:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool QChar::isTitleCase(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:572:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
Q_DECL_CONSTEXPR inline bool QChar::isTitleCase(uint ucs4)
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:575:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘==’ token
Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) { return c1.ucs == c2.ucs; }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:576:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator< (QChar c1, QChar c2) { return c1.ucs < c2.ucs; }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:576:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
Q_DECL_CONSTEXPR inline bool operator< (QChar c1, QChar c2) { return c1.ucs < c2.ucs; }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:578:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator!=(QChar c1, QChar c2) { return !operator==(c1, c2); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:578:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘!=’ token
Q_DECL_CONSTEXPR inline bool operator!=(QChar c1, QChar c2) { return !operator==(c1, c2); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:579:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator>=(QChar c1, QChar c2) { return !operator< (c1, c2); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:579:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘>=’ token
Q_DECL_CONSTEXPR inline bool operator>=(QChar c1, QChar c2) { return !operator< (c1, c2); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:580:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator> (QChar c1, QChar c2) { return operator< (c2, c1); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:580:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘>’ token
Q_DECL_CONSTEXPR inline bool operator> (QChar c1, QChar c2) { return operator< (c2, c1); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:581:25: error: unknown type name ‘bool’
Q_DECL_CONSTEXPR inline bool operator<=(QChar c1, QChar c2) { return !operator< (c2, c1); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:581:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<=’ token
Q_DECL_CONSTEXPR inline bool operator<=(QChar c1, QChar c2) { return !operator< (c2, c1); }
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:584:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘&’ token
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, QChar);
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:585:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘&’ token
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QChar &);
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h:34:0,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h:38,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_x86.h:38,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:64,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:39,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:42,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
from <command-line>:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtypetraits.h:106:48: fatal error: utility: No such file or directory
compilation terminated.
objdump: '/tmp/3Q_lcDUmmt/test': No such file
dh_acc: abi-compliance-checker -q -l libkf5coreaddons-dev -v1 5.19.0-1 -dump debian/libkf5coreaddons-dev.acc -dump-path debian/libkf5coreaddons-dev/usr/lib/x86_64-linux-gnu/dh-acc/libkf5coreaddons-dev_5.19.0-1.abi.tar.gz returned exit code 2
Happy hacking,
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf
Kernel: Linux 4.5.0-rc7-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
Versions of packages dh-acc depends on:
ii abi-compliance-checker 1.99.14-1
ii debhelper 9.20160313
ii perl 5.22.1-9
dh-acc recommends no packages.
dh-acc suggests no packages.
-- no debconf information
Reply to: