After upgrading to gcc-5.3 I tried to rebuild affected C++ based packages in accordance with the news item, and kffmpegthumbnailer continues to fail after finishing the other rebuilds, with this output, plus related errors: [ 66%] Building CXX object CMakeFiles/kffmpegthumbnailer.dir/kffmpegthumbnailer.o /usr/lib64/ccache/bin/x86_64-pc-linux-gnu-g++ -DMAKE_KFFMPEGTHUMBNAILER_LIB -D_BSD_SOURCE -D_DEFAULT_SOURCE -DQT_NO_DEBUG -DNDEBUG -march=native -pipe -O2 -frename-registers -fweb -fmerge-all-constants -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -I/tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0_build -I/tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0 -I/usr/include/KDE -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtDBus -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -o CMakeFiles/kffmpegthumbnailer.dir/kffmpegthumbnailer.o -c /tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0/kffmpegthumbnailer.cpp In file included from /lib64/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cinttypes:35:0, from /include/libffmpegthumbnailer/videothumbnailer.h:23, from /tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0_build/../kffmpegthumbnailer-1.1.0/kffmpegthumbnailer.h:23, from /tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0_build/moc_kffmpegthumbnailer.cpp:9, from /tmp/portage/media-video/kffmpegthumbnailer-1.1.0-r3/work/kffmpegthumbnailer-1.1.0_build/kffmpegthumbnailer_automoc.cpp:4: /lib64/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. Adding -std=gnu++11 as suggested to my CXXFLAGS for the package via package.env did the trick. However, I'm not sure if it should be c++11 or gnu++11, and just used gnu++11 as I figured it was more likely to work, which it did (tho compile-tested only, ATM). So obviously this package needs a bit of gcc-5 lovin'. =:^) (Given the gcc-5.3 rebuild failure and the fact that it rebuilt just fine after adding -std as suggested, AFACS emerge --info shouldn't be needed as the problem and general fix for it is obvious, but I can add it if requested.)
Not really a GCC 5 issue. ffmpegthumbnailer's headers require -std=c++11 no matter what version of GCC you use.
How do we fix this - just add append-cxxflags -std=c++11 ? Are there any compatibility concerns with earlier versions of GCC or ffmpegthumbnailer that didn't require the new standard?
Yes. GCC versions >=4.7 support -std=c++11. Looks like this is new in ffmpegthumbnailer-2.1.0. You could make the current version depend on <2.1.0 and add a revision bump for >=2.1.0 that builds with c++11.
Thanks all. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c98d873fda6582bb9c58ba0bbf92f33ed7427357