app-text/texlive-core-2016-r5 with GCC <6 fails to build with ICU >=59. Usage of C++ API of ICU >=59 requires usage of C++ >=2011. C++ 1998 is default in GCC <6. C++ 2014 is default in GCC 6 and 7. Ideally build system would add e.g. -std=c++11 or -std=c++14 to CXXFLAGS, but it is sufficient to make ebuild add it. checking requested system `icu' library... failed checking requested system `harfbuzz' library... ok configure: error: some requested system libraries failed In config.log: configure:22120: checking requested system `icu' library configure:22136: x86_64-pc-linux-gnu-g++ -o conftest -march=native -O2 -fno-ident -frecord-gcc-switches -pipe -Wall -DU_DISABLE_RENAMING=1 -DUCONFIG_ENABLE_PLUGINS=1 -I/usr/include -DPOPPLER_VERSION=\"0.54.0\" -I/usr/include/poppler -DPOPPLER_VERSION=\"0.54.0\" -I/usr/include/poppler -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/lib64 -I/usr/lib64 -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--hash-style=gnu -Wl,--sort-common conftest.cpp -L/usr/lib64 -licui18n -licuuc -licudata -lpthread -ldl -lm -lTECkit -lgraphite2 -lzzip -lz -lpoppler -lpoppler -lmpfr -lgmp -lcairo -lpixman-1 -lfreetype -lpng16 -lpaper -lz -lptexenc -lkpathsea >&5 <command-line>:0:18: warning: missing terminating " character <command-line>:0:18: warning: missing terminating " character In file included from /usr/include/unicode/utypes.h:38:0, from /usr/include/unicode/ustring.h:21, from conftest.cpp:43: /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 /usr/include/unicode/ustring.h:21, from conftest.cpp:43: /usr/include/unicode/uversion.h:167:55: error: 'UChar' does not name a type u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); ^ ...
Created attachment 472910 [details] texlive-core-2016-r5.log
Created attachment 472912 [details] config.log
commit a4062d391d14eca0086421e1ba2c8b46dfb45427 (HEAD -> master, origin/master, origin/HEAD) Author: Alexis Ballier <aballier@gentoo.org> Date: Wed May 17 14:53:09 2017 +0200 app-text/texlive-core: Build c++ in c++11 mode, needed for latest icu, bug #618732 This is getting annoying; first qt5, now icu, ...
(In reply to Alexis Ballier from comment #3) > commit a4062d391d14eca0086421e1ba2c8b46dfb45427 (HEAD -> master, > origin/master, origin/HEAD) > Author: Alexis Ballier <aballier@gentoo.org> > Date: Wed May 17 14:53:09 2017 +0200 > > app-text/texlive-core: Build c++ in c++11 mode, needed for latest icu, > bug #618732 > > > > This is getting annoying; first qt5, now icu, ... Hi. Thanks for the fix, but it's incomplete. You should also add a check if the current compiler supports c++11 before passing std=c++11 option to it.
(In reply to Coacher from comment #4) Compilers not supporting C++ 2011 are no longer supported.