Compile error with non-template forward declaration of class template. Reproducible: Always Steps to Reproduce: sudo emerge -1v dev-libs/sink Actual Results: [52/154] /usr/bin/x86_64-pc-linux-gnu-g++ -DKCalCore=KCalendarCore -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -Dsink_EXPORTS -I/var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0_build/common -I/var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0_build/common/sink_autogen/include -I/var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0_build -I/var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0 -I/var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/3rdparty -isystem /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common -isystem /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/domain -isystem /usr/include/KAsync -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtGui -isystem /usr/include/KPim5/KMime -isystem /usr/include/KF5/KContacts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KCalendarCore -O3 -DNDEBUG -pipe -march=native -ggdb -flto=26 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -std=gnu++17 -fPIC -fvisibility=default -fPIC -MD -MT common/CMakeFiles/sink.dir/store.cpp.o -MF common/CMakeFiles/sink.dir/store.cpp.o.d -o common/CMakeFiles/sink.dir/store.cpp.o -c /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/store.cpp FAILED: common/CMakeFiles/sink.dir/store.cpp.o In file included from /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/resourcecontext.h:22, from /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/facadefactory.h:32, from /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/store.cpp:33: /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/domaintypeadaptorfactoryinterface.h:34:7: error: using typedef-name ‘using flatbuffers::FlatBufferBuilder = class flatbuffers::FlatBufferBuilderImpl<false>’ after ‘class’ 34 | class FlatBufferBuilder; | ^~~~~~~~~~~~~~~~~ In file included from /usr/include/flatbuffers/flatbuffers.h:29, from /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/resourceaccess.h:30, from /var/tmp/portage/dev-libs/sink-0.8.0-r3/work/sink-0.8.0/common/store.cpp:28: /usr/include/flatbuffers/flatbuffer_builder.h:1414:7: note: ‘using flatbuffers::FlatBufferBuilder = class flatbuffers::FlatBufferBuilderImpl<false>’ has a previous declaration here 1414 | using FlatBufferBuilder = FlatBufferBuilderImpl<false>; | ^~~~~~~~~~~~~~~~~ Expected Results: successful compile
Created attachment 862981 [details] emerge --info
Same error here. My build log is too large to attach, but I can compress it or something and post it if necessary. I've successfully installed =dev-libs/sink-0.8.0-r3 before, so the problem isn't inherent to this version of sink. Based on my emerge history, it looks like this started happening when I upgraded dev-libs/flatbuffers from 23.3.3 to 23.5.26. Specifically I suspect it was triggered by one of these commits in flatbuffers: https://github.com/google/flatbuffers/commit/63b7b25289447313ab6e79191fa1733748dca0da or https://github.com/google/flatbuffers/commit/d64dc6200a959738b5e3260d74b8e736e81a5af4, both of which landed in 23.5.26. So I suspect the actual underlying bug needs to be (reported and) fixed upstream in sink, and on the Gentoo side it'd be enough to change dev-libs/sink-0.8.0-r3 to require <dev-libs/flatbuffers-23.5.26.
Unfortunately, sink has no activity upstream.
Same issue in media-tv/kodi-19.5-r1 This became a problem after upgrading to dev-libs/flatbuffers-23.5.26 I fixed it by downgrading flatbuffers to 23.3.3 Ebuild for flatbuffers-23.3.3 is no longer in portage tree, you'll need to dig it out of git.