Summary: | media-libs/harfbuzz-1.4.6-r1 with GCC <6 fails to build with ICU >=59 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Gentoo Office Team <office> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gnome, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=892331 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 620046 | ||
Attachments: |
emerge-info.txt
config.log.tbz2 emerge-history.txt environment etc.portage.tbz2 media-libs:harfbuzz-1.4.6-r1:20170517-045825.log temp.tbz2 |
Description
Toralf Förster
![]() Created attachment 472974 [details]
emerge-info.txt
Created attachment 472976 [details]
config.log.tbz2
Created attachment 472978 [details]
emerge-history.txt
Created attachment 472980 [details]
environment
Created attachment 472982 [details]
etc.portage.tbz2
Created attachment 472984 [details]
media-libs:harfbuzz-1.4.6-r1:20170517-045825.log
Created attachment 472986 [details]
temp.tbz2
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. /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src -I.. -DNDEBUG -DHB_NDEBUG -O2 -pipe -march=native -fno-rtti -fno-exceptions -Wcast-align -fvisibility-inlines-hidden -c -o libharfbuzz_icu_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '/var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/'`hb-icu.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src -I.. -DNDEBUG -DHB_NDEBUG -O2 -pipe -march=native -fno-rtti -fno-exceptions -Wcast-align -fvisibility-inlines-hidden -c /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.cc -fPIC -DPIC -o .libs/libharfbuzz_icu_la-hb-icu.o In file included from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.cc:30:0: /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-private.hh:621:0: warning: "HB_NDEBUG" redefined #define HB_NDEBUG ^ <command-line>:0:0: note: this is the location of the previous definition In file included from /usr/include/unicode/utypes.h:38:0, from /usr/include/unicode/uscript.h:20, from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.h:34, from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.cc:32: /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/uscript.h:20, from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.h:34, from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.cc:32: /usr/include/unicode/uversion.h:167:55: error: 'UChar' does not name a type u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); ^ In file included from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.h:34:0, from /var/tmp/portage/media-libs/harfbuzz-1.4.6-r1/work/harfbuzz-1.4.6/src/hb-icu.cc:32: /usr/include/unicode/uscript.h:600:45: error: 'UChar' has not been declared uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode); ^ ... The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ea145993280262f5ffe51c941472ee9b4e14068 commit 8ea145993280262f5ffe51c941472ee9b4e14068 Author: David Seifert <soap@gentoo.org> AuthorDate: 2018-02-19 18:17:20 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2018-02-19 19:40:23 +0000 media-libs/harfbuzz: Always build in C++14 mode Closes: https://bugs.gentoo.org/618772 Package-Manager: Portage-2.3.24, Repoman-2.3.6 media-libs/harfbuzz/harfbuzz-1.7.2.ebuild | 5 ++++- media-libs/harfbuzz/harfbuzz-1.7.4.ebuild | 5 ++++- media-libs/harfbuzz/harfbuzz-1.7.5.ebuild | 3 +++ media-libs/harfbuzz/harfbuzz-9999.ebuild | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c57b35cfc0bd671eaf3a86c330d31193a315c019 commit c57b35cfc0bd671eaf3a86c330d31193a315c019 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-01-26 07:18:34 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-01-26 07:18:37 +0000 media-libs/harfbuzz: drop obsolete c++14 force Added in 2018 -- GCC 11 defaults to C++17 nowadays, Clang 6 defaulted to C++14 and will change to C++17 in Clang 16. So, this is either giving the same as the default, or it's regressing us. Bug: https://bugs.gentoo.org/618772 Signed-off-by: Sam James <sam@gentoo.org> media-libs/harfbuzz/harfbuzz-6.0.0.ebuild | 3 --- media-libs/harfbuzz/harfbuzz-9999.ebuild | 3 --- 2 files changed, 6 deletions(-) |