Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 618772 - media-libs/harfbuzz-1.4.6-r1 with GCC <6 fails to build with ICU >=59
Summary: media-libs/harfbuzz-1.4.6-r1 with GCC <6 fails to build with ICU >=59
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: icu-59-gcc-5
  Show dependency tree
 
Reported: 2017-05-17 16:35 UTC by Toralf Förster
Modified: 2023-02-02 08:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,5.44 KB, text/plain)
2017-05-17 16:35 UTC, Toralf Förster
Details
config.log.tbz2 (config.log.tbz2,10.98 KB, application/x-bzip)
2017-05-17 16:35 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,17.24 KB, text/plain)
2017-05-17 16:35 UTC, Toralf Förster
Details
environment (environment,154.11 KB, text/plain)
2017-05-17 16:35 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,21.11 KB, application/x-bzip)
2017-05-17 16:35 UTC, Toralf Förster
Details
media-libs:harfbuzz-1.4.6-r1:20170517-045825.log (media-libs:harfbuzz-1.4.6-r1:20170517-045825.log,115.08 KB, text/plain)
2017-05-17 16:35 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,43.76 KB, application/x-bzip)
2017-05-17 16:36 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2017-05-17 16:35:38 UTC
 typedef UChar (U_CALLCONV *UNESCAPE_CHAR_AT)(int32_t offset, void *context);
               ^
/usr/include/unicode/ustring.h:1025:28: error: 'UNESCAPE_CHAR_AT' was not declared in this scope
 typedef UChar (U_CALLCONV *UNESCAPE_CHAR_AT)(int32_t offset, void *context);
                            ^

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: desktop-gcc5_20170516-214204

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-5.4.0 *

Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python2.7 (fallback)
Comment 1 Toralf Förster gentoo-dev 2017-05-17 16:35:41 UTC
Created attachment 472974 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2017-05-17 16:35:45 UTC
Created attachment 472976 [details]
config.log.tbz2
Comment 3 Toralf Förster gentoo-dev 2017-05-17 16:35:49 UTC
Created attachment 472978 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2017-05-17 16:35:52 UTC
Created attachment 472980 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2017-05-17 16:35:55 UTC
Created attachment 472982 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2017-05-17 16:35:59 UTC
Created attachment 472984 [details]
media-libs:harfbuzz-1.4.6-r1:20170517-045825.log
Comment 7 Toralf Förster gentoo-dev 2017-05-17 16:36:02 UTC
Created attachment 472986 [details]
temp.tbz2
Comment 8 Arfrever Frehtes Taifersar Arahesis 2017-05-17 18:16:39 UTC
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);
                                             ^
...
Comment 9 Larry the Git Cow gentoo-dev 2018-02-19 19:42:05 UTC
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(-)
Comment 10 Larry the Git Cow gentoo-dev 2023-01-26 07:23:53 UTC
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(-)