Your message dated Thu, 19 Jan 2017 14:21:25 +0100 with message-id <[email protected]> and subject line Re: dh-acc: Testing C++ headers with dh-acc results in: function body not available has caused the Debian Bug report #837162, regarding dh-acc: Testing C++ headers with dh-acc results in: function body not available to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 837162: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837162 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: dh-acc Version: 1.99.22-1 Severity: important Hi, Lately, I've been having some issues with dh-acc as used in the KDE packages (only used to test the headers running in an autopkgtest test), the run stops in a gcc error related to an inline function that can't be expanded. For example the kglobalaccel acc test log ends with: The GCC parameters: gcc -fdump-translation-unit -fkeep-inline-functions -c -x c++-header -fpermissive -w -fPIC "/tmp/7OQ4QvzIdj/dump1.h" -I/usr/include/KF5/KGlobalAccel -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:13:0, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBusDepends:3, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBus:3, from /usr/include/KF5/KGlobalAccel/private/kglobalacceld.h:31, from /tmp/7OQ4QvzIdj/dump1.h:10: /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h: In function ‘void qbswap(T, uchar*) [with T = long long unsigned int; uchar = unsigned char]’: /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h:72:44: error: inlining failed in call to always_inline ‘void qToUnaligned(T, uchar*) [with T = long long unsigned int; uchar = unsigned char]’: function body not available template <typename T> Q_ALWAYS_INLINE void qToUnaligned(const T src, uchar *dest) ^~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h:120:59: note: called from here qToUnaligned<quint64>(__builtin_bswap64(source), dest); ^ Removing either the "-fkeep-inline-functions" parameter or the "-x c++-header" in the gcc call makes the gcc invocation to succeed. But, in principle, keeping those arguments make sense for acc. I've seen this issue in some libstdc++ calls, and not only in qt5 ones, but I'm still not sure if the issue is in to gcc, libstdc++ or if something's really wrong with acc. Please reassign as you see fit. Happy hacking, -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'buildd-unstable'), (500, 'testing'), (500, 'stable'), (50, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, armhf Kernel: Linux 4.6.0-1-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.22-1 ii debhelper 9.20160814 ii perl 5.22.2-4 dh-acc recommends no packages. dh-acc suggests no packages. -- no debconf informationTemporary header file '/tmp/shVagLXFQx/dump1.h' with the following content will be compiled to create GCC translation unit dump: // add includes #include "/usr/include/KF5/KGlobalAccel/KGlobalAccel" #include "/usr/include/KF5/KGlobalAccel/kglobalaccel.h" #include "/usr/include/KF5/KGlobalAccel/kglobalaccel_export.h" #include "/usr/include/KF5/KGlobalAccel/private/kf5globalaccelprivate_export.h" #include "/usr/include/KF5/KGlobalAccel/private/kglobalaccel_interface.h" #include "/usr/include/KF5/KGlobalAccel/KGlobalShortcutInfo" #include "/usr/include/KF5/KGlobalAccel/kglobalshortcutinfo.h" #include "/usr/include/KF5/KGlobalAccel/private/kglobalacceld.h" // add namespaces namespace QDBusPendingReplyTypes{typedef int tmp_add_type_1;} QDBusPendingReplyTypes::tmp_add_type_1 tmp_add_func_1(){return 0;}; namespace Qt{typedef int tmp_add_type_2;} Qt::tmp_add_type_2 tmp_add_func_2(){return 0;}; namespace QtMetaTypePrivate{typedef int tmp_add_type_3;} QtMetaTypePrivate::tmp_add_type_3 tmp_add_func_3(){return 0;}; namespace QtPrivate{typedef int tmp_add_type_4;} QtPrivate::tmp_add_type_4 tmp_add_func_4(){return 0;}; namespace QtPrivate{namespace internal{typedef int tmp_add_type_5;}} QtPrivate::internal::tmp_add_type_5 tmp_add_func_5(){return 0;}; namespace QtPrivate{namespace std{typedef int tmp_add_type_6;}} QtPrivate::std::tmp_add_type_6 tmp_add_func_6(){return 0;}; namespace QtPrivate{namespace SwapExceptionTester{typedef int tmp_add_type_7;}} QtPrivate::SwapExceptionTester::tmp_add_type_7 tmp_add_func_7(){return 0;}; namespace QtSharedPointer{typedef int tmp_add_type_8;} QtSharedPointer::tmp_add_type_8 tmp_add_func_8(){return 0;}; // add classes KGlobalAccel* tmp_add_class_0; KGlobalAccelD* tmp_add_class_1; KGlobalAccelInterface* tmp_add_class_2; KGlobalShortcutInfo* tmp_add_class_3; QAbstractAnimation* tmp_add_class_4; QAbstractConcatenable* tmp_add_class_5; QAbstractEventDispatcher* tmp_add_class_6; QAbstractItemModel* tmp_add_class_7; QAbstractListModel* tmp_add_class_8; QAbstractNativeEventFilter* tmp_add_class_9; QAbstractProxyModel* tmp_add_class_10; QAbstractState* tmp_add_class_11; QAbstractTableModel* tmp_add_class_12; QAbstractTransition* tmp_add_class_13; QAnimationDriver* tmp_add_class_14; QAnimationGroup* tmp_add_class_15; QArrayData* tmp_add_class_16; QAssociativeIterable* tmp_add_class_17; QAtomicInt* tmp_add_class_18; QBasicMutex* tmp_add_class_19; QBasicTimer* tmp_add_class_20; QBitArray* tmp_add_class_21; QBitRef* tmp_add_class_22; QBuffer* tmp_add_class_23; QByteArrayDataPtr* tmp_add_class_24; QByteArrayMatcher* tmp_add_class_25; QByteRef* tmp_add_class_26; QChar* tmp_add_class_27; QCharRef* tmp_add_class_28; QChildEvent* tmp_add_class_29; QCollator* tmp_add_class_30; QCollatorSortKey* tmp_add_class_31; QCommandLineOption* tmp_add_class_32; QCommandLineParser* tmp_add_class_33; QContiguousCacheData* tmp_add_class_34; QCoreApplication* tmp_add_class_35; QCryptographicHash* tmp_add_class_36; QDBusAbstractAdaptor* tmp_add_class_37; QDBusAbstractInterface* tmp_add_class_38; QDBusAbstractInterfaceBase* tmp_add_class_39; QDBusArgument* tmp_add_class_40; QDBusConnection* tmp_add_class_41; QDBusConnectionInterface* tmp_add_class_42; QDBusContext* tmp_add_class_43; QDBusError* tmp_add_class_44; QDBusInterface* tmp_add_class_45; QDBusMessage* tmp_add_class_46; QDBusMetaType* tmp_add_class_47; QDBusObjectPath* tmp_add_class_48; QDBusPendingCall* tmp_add_class_49; QDBusPendingCallWatcher* tmp_add_class_50; QDBusPendingReplyData* tmp_add_class_51; QDBusServer* tmp_add_class_52; QDBusServiceWatcher* tmp_add_class_53; QDBusSignature* tmp_add_class_54; QDBusUnixFileDescriptor* tmp_add_class_55; QDBusVariant* tmp_add_class_56; QDBusVirtualObject* tmp_add_class_57; QDate* tmp_add_class_58; QDateTime* tmp_add_class_59; QDebugStateSaver* tmp_add_class_60; QDeferredDeleteEvent* tmp_add_class_61; QDir* tmp_add_class_62; QDirIterator* tmp_add_class_63; QDynamicPropertyChangeEvent* tmp_add_class_64; QEasingCurve* tmp_add_class_65; QElapsedTimer* tmp_add_class_66; QEvent* tmp_add_class_67; QEventLoop* tmp_add_class_68; QEventLoopLocker* tmp_add_class_69; QEventTransition* tmp_add_class_70; QException* tmp_add_class_71; QFactoryInterface* tmp_add_class_72; QFile* tmp_add_class_73; QFileDevice* tmp_add_class_74; QFileInfo* tmp_add_class_75; QFileSelector* tmp_add_class_76; QFileSystemWatcher* tmp_add_class_77; QFinalState* tmp_add_class_78; QFlag* tmp_add_class_79; QFutureInterfaceBase* tmp_add_class_80; QFutureWatcherBase* tmp_add_class_81; QGenericArgument* tmp_add_class_82; QGenericReturnArgument* tmp_add_class_83; QHashData* tmp_add_class_84; QHashDummyValue* tmp_add_class_85; QHistoryState* tmp_add_class_86; QIODevice* tmp_add_class_87; QIdentityProxyModel* tmp_add_class_88; QIncompatibleFlag* tmp_add_class_89; QInternal* tmp_add_class_90; QItemSelection* tmp_add_class_91; QItemSelectionModel* tmp_add_class_92; QItemSelectionRange* tmp_add_class_93; QJsonArray* tmp_add_class_94; QJsonDocument* tmp_add_class_95; QJsonObject* tmp_add_class_96; QJsonParseError* tmp_add_class_97; QJsonValue* tmp_add_class_98; QJsonValuePtr* tmp_add_class_99; QJsonValueRef* tmp_add_class_100; QJsonValueRefPtr* tmp_add_class_101; QKeySequence* tmp_add_class_102; QLatin1Char* tmp_add_class_103; QLatin1String* tmp_add_class_104; QLibrary* tmp_add_class_105; QLibraryInfo* tmp_add_class_106; QLine* tmp_add_class_107; QLineF* tmp_add_class_108; QLinkedListData* tmp_add_class_109; QListData* tmp_add_class_110; QLocale* tmp_add_class_111; QLockFile* tmp_add_class_112; QMapDataBase* tmp_add_class_113; QMapNodeBase* tmp_add_class_114; QMargins* tmp_add_class_115; QMarginsF* tmp_add_class_116; QMessageAuthenticationCode* tmp_add_class_117; QMessageLogContext* tmp_add_class_118; QMetaClassInfo* tmp_add_class_119; QMetaEnum* tmp_add_class_120; QMetaMethod* tmp_add_class_121; QMetaObject* tmp_add_class_122; QMetaProperty* tmp_add_class_123; QMetaType* tmp_add_class_124; QMimeData* tmp_add_class_125; QMimeDatabase* tmp_add_class_126; QMimeType* tmp_add_class_127; QModelIndex* tmp_add_class_128; QMutex* tmp_add_class_129; QMutexLocker* tmp_add_class_130; QObject* tmp_add_class_131; QObjectCleanupHandler* tmp_add_class_132; QObjectData* tmp_add_class_133; QObjectUserData* tmp_add_class_134; QParallelAnimationGroup* tmp_add_class_135; QPauseAnimation* tmp_add_class_136; QPersistentModelIndex* tmp_add_class_137; QPluginLoader* tmp_add_class_138; QPoint* tmp_add_class_139; QPointF* tmp_add_class_140; QProcess* tmp_add_class_141; QProcessEnvironment* tmp_add_class_142; QPropertyAnimation* tmp_add_class_143; QReadLocker* tmp_add_class_144; QReadWriteLock* tmp_add_class_145; QRect* tmp_add_class_146; QRectF* tmp_add_class_147; QRegExp* tmp_add_class_148; QRegularExpression* tmp_add_class_149; QRegularExpressionMatch* tmp_add_class_150; QRegularExpressionMatchIterator* tmp_add_class_151; QResource* tmp_add_class_152; QRunnable* tmp_add_class_153; QSaveFile* tmp_add_class_154; QScopedPointerPodDeleter* tmp_add_class_155; QSemaphore* tmp_add_class_156; QSequentialAnimationGroup* tmp_add_class_157; QSequentialIterable* tmp_add_class_158; QSettings* tmp_add_class_159; QSharedData* tmp_add_class_160; QSharedMemory* tmp_add_class_161; QSignalBlocker* tmp_add_class_162; QSignalMapper* tmp_add_class_163; QSignalTransition* tmp_add_class_164; QSize* tmp_add_class_165; QSizeF* tmp_add_class_166; QSocketNotifier* tmp_add_class_167; QSortFilterProxyModel* tmp_add_class_168; QStandardPaths* tmp_add_class_169; QState* tmp_add_class_170; QStateMachine* tmp_add_class_171; QStaticPlugin* tmp_add_class_172; QStorageInfo* tmp_add_class_173; QStringDataPtr* tmp_add_class_174; QStringList* tmp_add_class_175; QStringListModel* tmp_add_class_176; QStringMatcher* tmp_add_class_177; QStringRef* tmp_add_class_178; QSysInfo* tmp_add_class_179; QSystemSemaphore* tmp_add_class_180; QTemporaryDir* tmp_add_class_181; QTemporaryFile* tmp_add_class_182; QTextBoundaryFinder* tmp_add_class_183; QTextCodec* tmp_add_class_184; QTextDecoder* tmp_add_class_185; QTextEncoder* tmp_add_class_186; QTextStream* tmp_add_class_187; QTextStreamManipulator* tmp_add_class_188; QThread* tmp_add_class_189; QThreadPool* tmp_add_class_190; QThreadStorageData* tmp_add_class_191; QTime* tmp_add_class_192; QTimeLine* tmp_add_class_193; QTimeZone* tmp_add_class_194; QTimer* tmp_add_class_195; QTimerEvent* tmp_add_class_196; QTranslator* tmp_add_class_197; QUnhandledException* tmp_add_class_198; QUrl* tmp_add_class_199; QUrlQuery* tmp_add_class_200; QUuid* tmp_add_class_201; QVariant* tmp_add_class_202; QVariantAnimation* tmp_add_class_203; QVariantComparisonHelper* tmp_add_class_204; QVersionNumber* tmp_add_class_205; QWaitCondition* tmp_add_class_206; QWriteLocker* tmp_add_class_207; QXmlStreamAttribute* tmp_add_class_208; QXmlStreamAttributes* tmp_add_class_209; QXmlStreamEntityDeclaration* tmp_add_class_210; QXmlStreamEntityResolver* tmp_add_class_211; QXmlStreamNamespaceDeclaration* tmp_add_class_212; QXmlStreamNotationDeclaration* tmp_add_class_213; QXmlStreamReader* tmp_add_class_214; QXmlStreamStringRef* tmp_add_class_215; QXmlStreamWriter* tmp_add_class_216; pthread_attr_t* tmp_add_class_217; The GCC parameters: gcc -fdump-translation-unit -fkeep-inline-functions -c -x c++-header -fpermissive -w -fPIC "/tmp/shVagLXFQx/dump1.h" -I/usr/include/KF5/KGlobalAccel -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:13:0, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBusDepends:3, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBus:3, from /usr/include/KF5/KGlobalAccel/private/kglobalacceld.h:31, from /tmp/shVagLXFQx/dump1.h:10: /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h: In function ‘void qbswap(T, uchar*) [with T = long long unsigned int; uchar = unsigned char]’: /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h:72:44: error: inlining failed in call to always_inline ‘void qToUnaligned(T, uchar*) [with T = long long unsigned int; uchar = unsigned char]’: function body not available template <typename T> Q_ALWAYS_INLINE void qToUnaligned(const T src, uchar *dest) ^~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qendian.h:120:59: note: called from here qToUnaligned<quint64>(__builtin_bswap64(source), dest); ^
--- End Message ---
--- Begin Message ---This is fixed in gcc-6 6.3.0-3.
--- End Message ---

