Bug 364156 - knewstuff-9999 fail to compile (in gcc 6.1.0, gcc 5.3.0, gcc 4.93, and clang 3.9)
Summary: knewstuff-9999 fail to compile (in gcc 6.1.0, gcc 5.3.0, gcc 4.93, and clang ...
Status: RESOLVED FIXED
Alias: None
Product: frameworks-knewstuff
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Jeremy Whiting
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-09 20:45 UTC by myopetz
Modified: 2020-11-13 03:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description myopetz 2016-06-09 20:45:27 UTC
The compiler reports the error "field has incomplete type 'Attica::Content' whenever it compiles entryinternal.cpp. I tried three versions of gcc (4.9.3, 5.3.0, and 6.1.0) and clang 3.9 and got the same error.

Reproducible: Always

Steps to Reproduce:
1. build kde-frameworks/knewstuff-9999
2.
3.

Actual Results:  
[ 36%] Building CXX object src/CMakeFiles/KF5NewStuff.dir/core/entryinternal.cpp.o
cd /var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999_build/src && /usr/bin/clang++  -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=550 -DKF5NewStuff_EXPORTS -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"knewstuff5\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999_build/src -I/var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src -isystem /usr/include/KF5/Attica -isystem /usr/include/KF5 -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KArchive -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/KIconThemes -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi   -DQT_NO_DEBUG -DNDEBUG -march=sandybridge -g -Ofast -pipe -fstack-protector-strong  -std=c++0x -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -pedantic -Wno-gnu-zero-variadic-macro-arguments -fPIC -fvisibility=hidden -fvisibility-inlines-hidden   -fPIC -std=gnu++11 -o CMakeFiles/KF5NewStuff.dir/core/entryinternal.cpp.o -c /var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src/core/entryinternal.cpp
In file included from /var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src/core/engine.cpp:22:
In file included from /var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src/core/engine_p.h:27:
In file included from /usr/include/qt5/QtCore/QSharedPointer:1:
In file included from /usr/include/qt5/QtCore/qsharedpointer.h:45:
In file included from /usr/include/qt5/QtCore/qshareddata.h:46:
/usr/include/qt5/QtCore/qhash.h:152:7: error: field has incomplete type 'Attica::Content'
    T value;
      ^
/usr/include/qt5/QtCore/qhash.h:533:19: note: in instantiation of template class 'QHashNode<QString, Attica::Content>' requested here
    concrete(node)->~Node();
                  ^
/usr/include/qt5/QtCore/qhash.h:573:20: note: in instantiation of member function 'QHash<QString, Attica::Content>::deleteNode2' requested here
    x->free_helper(deleteNode2);
                   ^
/usr/include/qt5/QtCore/qhash.h:252:37: note: in instantiation of member function 'QHash<QString, Attica::Content>::freeData' requested here
    ~QHash() { if (!d->ref.deref()) freeData(d); }
                                    ^
/var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src/attica/atticaprovider_p.h:47:7: note: in instantiation of member function
      'QHash<QString, Attica::Content>::~QHash' requested here
class AtticaProvider: public Provider
      ^
/usr/include/qt5/QtCore/qsharedpointer_impl.h:217:29: note: in instantiation of member function 'QtSharedPointer::CustomDeleter<KNS3::AtticaProvider,
      QtSharedPointer::NormalDeleter>::execute' requested here
            realself->extra.execute();
                            ^
/usr/include/qt5/QtCore/qsharedpointer_impl.h:532:65: note: in instantiation of member function
      'QtSharedPointer::ExternalRefCountWithCustomDeleter<KNS3::AtticaProvider, QtSharedPointer::NormalDeleter>::deleter' requested here
        typename Private::DestroyerFn actualDeleter = &Private::deleter;
                                                                ^
/usr/include/qt5/QtCore/qsharedpointer_impl.h:322:7: note: in instantiation of function template specialization
      'QSharedPointer<KNS3::Provider>::internalConstruct<KNS3::AtticaProvider, QtSharedPointer::NormalDeleter>' requested here
    { internalConstruct(ptr, QtSharedPointer::NormalDeleter()); }
      ^
/var/tmp/portage/kde-frameworks/knewstuff-9999/work/knewstuff-9999/src/core/engine.cpp:193:24: note: in instantiation of function template specialization
      'QSharedPointer<KNS3::Provider>::QSharedPointer<KNS3::AtticaProvider>' requested here
            provider = QSharedPointer<KNS3::Provider> (new AtticaProvider(m_categories));
                       ^
/usr/include/KF5/Attica/attica/provider.h:62:7: note: forward declaration of 'Attica::Content'
class Content;
      ^
1 error generated.
Comment 1 Thiago Sueto 2020-11-13 03:53:23 UTC
Hello myopetz, I assume that knewstuff-9999 was the current master version from when you attempted to compile it on Gentoo. Please retest with the current version from upstream, and if you find any compilation issues, please make a new report. Build issues are very noticeable and quick to fix and this report is from 4 years ago. With the redesign of knewstuff the code probably differs significantly too. If you still experience the exact same issue somehow you can reopen this report.