dev-qt/qtcore-4.8.7-r2:4[icu] fails to build with ICU >=59. ICU auto-detection... () x86_64-pc-linux-gnu-g++ -c -march=native -O2 -fno-ident -frecord-gcc-switches -pipe -Wall -std=gnu++98 -Wall -W -I/var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++ -I/var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/config.tests/unix/icu -I/var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/config.tests/unix/icu -I. -o icu.o /var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/config.tests/unix/icu/icu.cpp In file included from /usr/include/unicode/utypes.h:38:0, from /var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/config.tests/unix/icu/icu.cpp:42: /usr/include/unicode/umachine.h:347:13: error: ‘char16_t’ does not name a type typedef char16_t UChar; ^~~~~~~~ In file included from /usr/include/unicode/utypes.h:39:0, from /var/tmp/portage/dev-qt/qtcore-4.8.7-r2/work/qt-everywhere-opensource-src-4.8.7/config.tests/unix/icu/icu.cpp:42: /usr/include/unicode/uversion.h:167:55: error: ‘UChar’ does not name a type u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); ^~~~~ ...
Created attachment 472770 [details] qtcore-4.8.7-r2.log
This ebuild currently forcefully uses compilation in C++ 1998 mode due to qt4-build-multilib.eclass having: append-cxxflags -std=gnu++98 Switching to C++ >=2011 mode is sufficient to fix compilation of dev-qt/qtcore:4. However all of Qt 4 probably should be built in the same mode to avoid potential problems, and currently there is no complete fix for dev-qt/qtwebkit:4 (bug #618640).
*** Bug 618768 has been marked as a duplicate of this bug. ***
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #2) > Switching to C++ >=2011 mode is sufficient to fix compilation of > dev-qt/qtcore:4. That's not going to happen. Looks like icu >= 59 will have to stay masked for a long time (I am going to change the dep in qt{core,webkit} to =58* though).
dev-qt/qtcore:4[icu] seems to have no reverse dependencies, so this flag could be masked for dev-qt/qtcore:4. ICU 59 fixes some security bugs, so it should not be masked for long time.
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #5) > dev-qt/qtcore:4[icu] seems to have no reverse dependencies, so this flag > could be masked for dev-qt/qtcore:4. It's now masked in the 17.0 profiles (which are where ICU 59 will be unmasked). So I consider this bug "done"... if you disagree please reopen.
*** Bug 623918 has been marked as a duplicate of this bug. ***
*** Bug 629456 has been marked as a duplicate of this bug. ***
*** Bug 632060 has been marked as a duplicate of this bug. ***
*** Bug 633402 has been marked as a duplicate of this bug. ***
(In reply to Davide Pesavento from comment #4) > I am going to change the dep in qt{core,webkit} to =58* though. I believe this was not done, at least the icu dependency for qtcore is not fixed to any version number in the current tree.
*** Bug 635564 has been marked as a duplicate of this bug. ***
(In reply to Dennis Schridde from comment #11) > (In reply to Davide Pesavento from comment #4) > > I am going to change the dep in qt{core,webkit} to =58* though. > > I believe this was not done, at least the icu dependency for qtcore is not > fixed to any version number in the current tree. Done now. Thanks for reminding me.