I can't compile ring-kde with gcc-8.1.1. The errors are: src/qmlwidgets/treeview2.cpp: In member function ‘bool VisualTreeItem::error()’: src/qmlwidgets/treeview2.cpp:1414:1: error: control reaches end of non-void function [-Werror=return-type] src/qmlwidgets/treeview2.cpp: In member function ‘bool TreeTraversalItems::error()’: src/qmlwidgets/treeview2.cpp:1445:1: error: control reaches end of non-void function [-Werror=return-type] src/qmlwidgets/treeview2.cpp: In member function ‘bool TreeView2Private::error()’: src/qmlwidgets/treeview2.cpp:1630:1: error: control reaches end of non-void function [-Werror=return-type]
Can you try again with the latest git-master?
Thank you! But it fails again: [ 4%] Building CXX object src/klib/CMakeFiles/libkring.dir/kcfg_settings.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:4: /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.h:12:18: error: Declaring type ‘class ConfigurationSkeleton’ final would enable devirtualization of 1 call [-Werror=suggest-final-types] class LIB_EXPORT ConfigurationSkeleton : public KConfigSkeleton ^~~~~~~~~~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:246:1: error: Declaring virtual destructor of ‘class ConfigurationSkeleton’ final would enable devirtualization of 1 call [-Werror=suggest-final-methods] ConfigurationSkeleton::~ConfigurationSkeleton() ^~~~~~~~~~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp: In destructor ‘ConfigurationSkeleton::~ConfigurationSkeleton()’: /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:248:38: error: potential null pointer dereference [-Werror=null-dereference] s_globalConfigurationSkeleton()->q = nullptr; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp: In static member function ‘static ConfigurationSkeleton* ConfigurationSkeleton::self()’: /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:19:41: error: potential null pointer dereference [-Werror=null-dereference] if (!s_globalConfigurationSkeleton()->q) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:21:38: error: potential null pointer dereference [-Werror=null-dereference] s_globalConfigurationSkeleton()->q->read(); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /tmp/yaytmp-1000/ring-kde-git/src/build/src/klib/kcfg_settings.cpp:24:43: error: potential null pointer dereference [-Werror=null-dereference] return s_globalConfigurationSkeleton()->q;
woops, I forgot to remove the `-Werror` from the cmakelists I added for testing. That one is on me. Fixed
The error is still there =( [ 15%] Building CXX object src/qmlwidgets/CMakeFiles/libqmlwidgets.dir/treeview2.cpp.o /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/qmlwidgets/treeview2.cpp: In member function ‘bool VisualTreeItem::error()’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/qmlwidgets/treeview2.cpp:1423:1: error: no return statement in function returning non-void [-Werror=return-type] } ^ /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/qmlwidgets/treeview2.cpp: In member function ‘bool TreeView2Private::error()’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/qmlwidgets/treeview2.cpp:1645:1: error: control reaches end of non-void function [-Werror=return-type] }
Another one fixed. This was a false positive tho. Functions that explicitly don't return... don't need to return. That's why using -Werror is a bad idea in general
We're moving further! [ 68%] Building CXX object src/CMakeFiles/ring-kde.dir/ringapplication.cpp.o /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp: In member function ‘void RingApplication::initCollections()’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp:317:43: error: too few arguments to function ‘void HistoryImporter::importHistory(LocalHistoryCollection*, std::function<void(const QVector<Calendar*>&)>)’ HistoryImporter::importHistory(histo); ^
Could you please use 'make -k' to continue after errors and post a summary of all errors?
Thank you. I've added -k option and the process continued to 100%. Previous "68%" error seems to be the last one. No more errors here.
Here'is the log: [ 68%] Building CXX object src/CMakeFiles/ring-kde.dir/ringapplication.cpp.o /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp: In member function ‘void RingApplication::initCollections()’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp:317:43: error: too few arguments to function ‘void HistoryImporter::importHistory(LocalHistoryCollection*, std::function<void(const QVector<Calendar*>&)>)’ HistoryImporter::importHistory(histo); ^ In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp:71: /usr/include/libringqt/libcard/historyimporter.h:40:17: note: declared here void LIB_EXPORT importHistory(LocalHistoryCollection* col, std::function<void(const QVector<Calendar*>&)> callback); ^~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp: In static member function ‘static QQmlApplicationEngine* RingApplication::engine()’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp:504:37: warning: ‘void KDeclarative::KDeclarative::setupBindings()’ is deprecated [-Wdeprecated-declarations] m_pDeclarative->setupBindings(); ^ In file included from /usr/include/KF5/KDeclarative/KDeclarative/KDeclarative:1, from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/ringapplication.cpp:39: /usr/include/KF5/KDeclarative/kdeclarative/kdeclarative.h:57:34: note: declared here KDECLARATIVE_DEPRECATED void setupBindings(); ^~~~~~~~~~~~~ make[2]: *** [src/CMakeFiles/ring-kde.dir/build.make:240: src/CMakeFiles/ring-kde.dir/ringapplication.cpp.o] Error 1 [ 69%] Building CXX object src/CMakeFiles/ring-kde.dir/errormessage.cpp.o [ 69%] Building CXX object src/CMakeFiles/ring-kde.dir/actioncollection.cpp.o [ 70%] Building CXX object src/CMakeFiles/ring-kde.dir/implementation.cpp.o [ 70%] Building CXX object src/CMakeFiles/ring-kde.dir/model/extendedprotocolmodel.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/model/extendedprotocolmodel.cpp:18: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/model/extendedprotocolmodel.h:26:7: warning: Declaring type ‘class ExtendedProtocolModel’ final would enable devirtualization of 3 calls [-Wsuggest-final-types] class ExtendedProtocolModel : public QIdentityProxyModel ^~~~~~~~~~~~~~~~~~~~~ [ 71%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/autocompletiondelegate.cpp.o [ 71%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/autocompletiondelegate2.cpp.o [ 72%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/toolbardelegate.cpp.o [ 72%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/accountinfodelegate.cpp.o [ 73%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/kdepixmapmanipulation.cpp.o [ 73%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/categorizeddelegate.cpp.o [ 74%] Building CXX object src/CMakeFiles/ring-kde.dir/delegates/righticondelegate.cpp.o [ 74%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/simplerotateproxy.cpp.o [ 75%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/deduplicateproxy.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/proxies/deduplicateproxy.cpp:18: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/proxies/deduplicateproxy.h:57:7: warning: Declaring type ‘class DeduplicateProxy’ final would enable devirtualization of 5 calls [-Wsuggest-final-types] class DeduplicateProxy : public QSortFilterProxyModel ^~~~~~~~~~~~~~~~ [ 75%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/filtertoplevelproxy.cpp.o [ 76%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/roletransformationproxy.cpp.o [ 76%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/flagsfilterproxy.cpp.o [ 77%] Building CXX object src/CMakeFiles/ring-kde.dir/proxies/pollingproxy.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/proxies/pollingproxy.cpp:18: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/proxies/pollingproxy.h:35:7: warning: Declaring type ‘class PollingProxy’ final would enable devirtualization of 4 calls [-Wsuggest-final-types] class PollingProxy : public QIdentityProxyModel ^~~~~~~~~~~~ [ 77%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountserializationadapter.cpp.o [ 78%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/configurationdialog.cpp.o [ 78%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlggeneral.cpp.o [ 79%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgdisplay.cpp.o [ 79%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgaudio.cpp.o [ 80%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgaddressbook.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/build/src/ui_dlgaddressbookbase.h:24, from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/dlgaddressbook.h:29, from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/dlgaddressbook.cpp:20: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/categorizedtreeview.h:30:7: warning: Declaring type ‘class CategorizedTreeView’ final would enable devirtualization of 1 call [-Wsuggest-final-types] class CategorizedTreeView : public CategorizedTree ^~~~~~~~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/categorizedtreeview.h:52:17: warning: Declaring method ‘virtual void CategorizedTreeView::setModel(QAbstractItemModel*)’ final would enable devirtualization of 1 call [-Wsuggest-final-methods] virtual void setModel ( QAbstractItemModel * model ) override; ^~~~~~~~ [ 80%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgaccessibility.cpp.o [ 81%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgpresence.cpp.o [ 81%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgaccount.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/dlgaccount.cpp:43: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/model/extendedprotocolmodel.h:26:7: warning: Declaring type ‘class ExtendedProtocolModel’ final would enable devirtualization of 1 call [-Wsuggest-final-types] class ExtendedProtocolModel : public QIdentityProxyModel ^~~~~~~~~~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/model/extendedprotocolmodel.h:41:24: warning: Declaring method ‘virtual QVariant ExtendedProtocolModel::data(const QModelIndex&, int) const’ final would enable devirtualization of 1 call [-Wsuggest-final-methods] virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; ^~~~ [ 82%] Building CXX object src/CMakeFiles/ring-kde.dir/configurator/localhistoryconfigurator.cpp.o [ 82%] Building CXX object src/CMakeFiles/ring-kde.dir/configurator/peerprofileconfigurator.cpp.o [ 83%] Building CXX object src/CMakeFiles/ring-kde.dir/configurator/bookmarkconfigurator.cpp.o [ 83%] Building CXX object src/CMakeFiles/ring-kde.dir/configurator/audiorecordingconfigurator.cpp.o [ 84%] Building CXX object src/CMakeFiles/ring-kde.dir/configurator/fallbackpersonconfigurator.cpp.o [ 84%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/systray.cpp.o /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/systray.cpp: In constructor ‘SysTray::SysTray(const QIcon&, QWidget*)’: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/systray.cpp:37:31: warning: unused parameter ‘icon’ [-Wunused-parameter] SysTray::SysTray(const QIcon &icon, QWidget *parent) ~~~~~~~~~~~~~^~~~ [ 85%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/categorizedtreeview.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/categorizedtreeview.cpp:17: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/categorizedtreeview.h:30:7: warning: Declaring type ‘class CategorizedTreeView’ final would enable devirtualization of 5 calls [-Wsuggest-final-types] class CategorizedTreeView : public CategorizedTree ^~~~~~~~~~~~~~~~~~~ [ 85%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/fileselector.cpp.o [ 86%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/filterlineedit.cpp.o [ 86%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/kphonenumberselector.cpp.o [ 87%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/directoryview.cpp.o [ 87%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/menumodelview.cpp.o [ 88%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/accountstatusviewer.cpp.o [ 88%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/autocombobox.cpp.o [ 89%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/categorizedtree.cpp.o [ 89%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/certificateviewer.cpp.o [ 90%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/contextlistview.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/contextlistview.cpp:18: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/widgets/contextlistview.h:23:7: warning: Declaring type ‘class ContextListView’ final would enable devirtualization of 1 call [-Wsuggest-final-types] class ContextListView : public QListView ^~~~~~~~~~~~~~~ [ 90%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/groupedtoolbutton.cpp.o [ 91%] Building CXX object src/CMakeFiles/ring-kde.dir/widgets/securityprogress.cpp.o [ 91%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/advanced.cpp.o [ 92%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/credentials.cpp.o [ 92%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/basic.cpp.o [ 93%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/network.cpp.o [ 93%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/codecs.cpp.o [ 94%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/ringtone.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/accountpages/ringtone.cpp:18: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/accountpages/ringtone.h:27:7: warning: Declaring type ‘class Pages::RingTone’ final would enable devirtualization of 1 call [-Wsuggest-final-types] class RingTone : public PageBase, public Ui_RingtonePage ^~~~~~~~ [ 94%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/security.cpp.o [ 95%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/pagebase.cpp.o [ 95%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/account.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/accountpages/account.cpp:33: /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/accountserializationadapter.h:38:18: warning: Declaring type ‘class AccountSerializationAdapter’ final would enable devirtualization of 1 call [-Wsuggest-final-types] class LIB_EXPORT AccountSerializationAdapter : public QObject ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/yaytmp-1000/ring-kde-git/src/ring-kde/src/conf/accountserializationadapter.h:43:12: warning: Declaring virtual destructor of ‘class AccountSerializationAdapter’ final would enable devirtualization of 1 call [-Wsuggest-final-methods] virtual ~AccountSerializationAdapter(); ^ [ 96%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/devices.cpp.o [ 96%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/accountpages/dlgprofiles.cpp.o [ 97%] Building CXX object src/CMakeFiles/ring-kde.dir/conf/dlgvideo.cpp.o [ 97%] Building CXX object src/CMakeFiles/ring-kde.dir/qrc_resources.cpp.o [ 98%] Building CXX object src/CMakeFiles/ring-kde.dir/qrc_confresources.cpp.o [ 98%] Building CXX object src/CMakeFiles/ring-kde.dir/qrc_appicon.cpp.o [100%] Building CXX object src/CMakeFiles/ring-kde.dir/ring-kde_autogen/mocs_compilation.cpp.o In file included from /tmp/yaytmp-1000/ring-kde-git/src/build/src/ring-kde_autogen/KADFE7Q5JN/../../../../ring-kde/src/conf/accountpages/account.h:22, from /tmp/yaytmp-1000/ring-kde-git/src/build/src/ring-kde_autogen/KADFE7Q5JN/moc_account.cpp:9, from /tmp/yaytmp-1000/ring-kde-git/src/build/src/ring-kde_autogen/mocs_compilation.cpp:25: /tmp/yaytmp-1000/ring-kde-git/src/build/src/ring-kde_autogen/KADFE7Q5JN/../../../../ring-kde/src/conf/accountpages/pagebase.h:54:17: warning: Declaring method ‘virtual void Pages::PageBase::setChanged()’ final would enable devirtualization of 1 call [-Wsuggest-final-methods] virtual void setChanged(); ^~~~~~~~~~ make[2]: Target 'src/CMakeFiles/ring-kde.dir/build' not remade because of errors. make[1]: *** [CMakeFiles/Makefile2:1044: src/CMakeFiles/ring-kde.dir/all] Error 2 make[1]: Target 'all' not remade because of errors. make: *** [Makefile:141: all] Error 2 make: Target 'default_target' not remade because of errors.
Please remove the build directory and the libringqt directory so the cache get refreshed and try again
Thank you, everything is fine now!
Thanks for reporting that. Is there any other bug you see with Ring-KDE? I plan to do a release tomorrow? To fix your issue, I just tested with GCC 5.4, 6, 7, 8, Clang++ 4, 5, 6. I also used proprietary stuff like Coverity compiler. I also added -Werror on my laptop to catch the issue you had earlier to it doesn't happen again. Finally, I modified the CMakeLists.txt to enable all warnings from all GCC version so if they add new ones to -Wall (and no, "all" isn't even 35% of the possible warnings), then it will appear on my CI system before it gets pushed to git.
I don't see any other issues, just some warnings. Guess it's ready for release!