Actions
Bug #2047
closedCore fails to compile with Boost 1.65.0 and GCC 6.4.0
Start date:
09/17/2017
Due date:
% Done:
100%
Estimated time:
1:00 h
Reported in:
master
Description
Gentoo ~amd64, Boost 1.65.0, GCC 6.4.0
I'm not sure Boost version is relevant, but I can't recompile core after updating Boost (`emerge @preserved-rebuild`)
/var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp: In instantiation of ‘LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)> [with auto:14 = QString&]’: /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/oldcppkludges.h:40:71: required by substitution of ‘template<class F, class ... Args> decltype (forward<F>(f)((forward<Args>)(LeechCraft::Util::Invoke::args)...)) LeechCraft::Util::Invoke(F&&, Args&& ...) [with F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>; Args = {QString&}]’ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/prelude.h:136:35: required from ‘constexpr bool LeechCraft::Util::detail::DoesReturnVoid() [with F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>; Cont = QStringList]’ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/prelude.h:174:69: required by substitution of ‘template<class Container, class F, class> auto LeechCraft::Util::Map(Container&, F) [with Container = QStringList; F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>; <template-parameter-1-3> = <missing>]’ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:120:61: required from here /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:120:60: error: cannot call member function ‘virtual ITagsManager::tag_id LeechCraft::TagsManager::GetID(const QString&)’ without object [this] (auto&& tag) { return GetID (tag.simplified ()); }); ^ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp: In instantiation of ‘LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)> [with auto:14 = const QString&]’: /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/oldcppkludges.h:40:71: required by substitution of ‘template<class F, class ... Args> decltype (forward<F>(f)((forward<Args>)(LeechCraft::Util::Invoke::args)...)) LeechCraft::Util::Invoke(F&&, Args&& ...) [with F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>&; Args = {const QString&}]’ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/prelude.h:179:11: required from ‘auto LeechCraft::Util::Map(const Container&, F) [with Container = QStringList; F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>; <template-parameter-1-3> = void]’ /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:120:61: required from here /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:120:60: error: cannot call member function ‘virtual ITagsManager::tag_id LeechCraft::TagsManager::GetID(const QString&)’ without object /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp: In member function ‘virtual QStringList LeechCraft::TagsManager::SplitToIDs(const QString&)’: /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:119:19: error: could not convert ‘LeechCraft::Util::Map<QStringList, LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>, void>(LeechCraft::TagsManager::Split(const QString&) const((* & string)), <lambda closure object>LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>{((LeechCraft::TagsManager*)this)})’ from ‘void’ to ‘QStringList’ return Util::Map (Split (string), ~~~~~~~~~~^~~~~~~~~~~~~~~~ [this] (auto&& tag) { return GetID (tag.simplified ()); }); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/prelude.h:37:0, from /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/tagsmanager.cpp:38: /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/oldcppkludges.h: At global scope: /var/tmp/portage/app-leechcraft/lc-core-9999/work/lc-core-9999/src/core/../util/sll/oldcppkludges.h:40:7: error: ‘decltype (forward<F>(f)((forward<Args>)(LeechCraft::Util::Invoke::args)...)) LeechCraft::Util::Invoke(F&&, Args&& ...) [with F = LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>&; Args = {const QString&}; decltype (forward<F>(f)((forward<Args>)(LeechCraft::Util::Invoke::args)...)) = void]’, declared using local type ‘LeechCraft::TagsManager::SplitToIDs(const QString&)::<lambda(auto:14&&)>’, is used but never defined [-fpermissive] auto Invoke (F&& f, Args&&... args) -> decltype (std::forward<F> (f) (std::forward<Args> (args)...)) ^~~~~~ make[2]: *** [core/CMakeFiles/leechcraft-qt5.dir/build.make:603: core/CMakeFiles/leechcraft-qt5.dir/tagsmanager.cpp.o] Error 1
Updated by 0xd34df00d about 7 years ago
- Status changed from New to Assigned
- Target version set to 0.6.75
- Estimated time set to 1:00 h
Meh, another gcc 6 deficiency.
Updated by 0xd34df00d about 7 years ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Applied in changeset main|e7bfd374550519780c5dd823770f7eda6ea916cb.
Actions