Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 880479 - media-libs/harfbuzz-5.3.1 don't compile (icu related?)
Summary: media-libs/harfbuzz-5.3.1 don't compile (icu related?)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on: 880681
Blocks:
  Show dependency tree
 
Reported: 2022-11-08 20:26 UTC by Serge
Modified: 2022-11-10 09:00 UTC (History)
3 users (show)

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


Attachments
emerge --info (emerge-info.txt,6.68 KB, text/plain)
2022-11-08 20:27 UTC, Serge
Details
emerge -pqv (emerge-pqv.txt,223 bytes, text/plain)
2022-11-08 20:28 UTC, Serge
Details
build.log (build.log,93.09 KB, application/octet-stream)
2022-11-08 20:28 UTC, Serge
Details
environnment (environment,132.25 KB, text/plain)
2022-11-08 20:28 UTC, Serge
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Serge 2022-11-08 20:26:56 UTC
on the system, harfbuzz 5.1.0 is installed but a  @world update  fail to update it to 5.3.1

Reproducible: Always

Steps to Reproduce:
1. emerge -uDavt --newuse --deep @world 
2.
3.
Actual Results:  
it fail on fail on harfbuzz-5.3.1

Expected Results:  
it should complie
Comment 1 Serge 2022-11-08 20:27:46 UTC
Created attachment 829479 [details]
emerge --info
Comment 2 Serge 2022-11-08 20:28:08 UTC
Created attachment 829481 [details]
emerge -pqv
Comment 3 Serge 2022-11-08 20:28:32 UTC
Created attachment 829483 [details]
build.log
Comment 4 Serge 2022-11-08 20:28:53 UTC
Created attachment 829485 [details]
environnment
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-08 20:30:56 UTC
x86_64-pc-linux-gnu-g++ -m32 -mfpmath=sse  -o src/libharfbuzz-icu.so.0.50301.0 src/libharfbuzz-icu.so.0.50301.0.p/hb-icu.cc.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libharfbuzz-icu.so.0 -march=native -O2 -pipe -std=c++14 -Wl,-O1 -Wl,--as-needed '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/var/tmp/portage/media-libs/harfbuzz-5.3.1/work/harfbuzz-5.3.1-abi_x86_32.x86/src src/libharfbuzz.so.0.50301.0 /usr/lib64/libicuuc.so -Wl,--end-group
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libicuuc.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-08 20:31:06 UTC
Please don't CC arches manually.
Comment 7 Eli Schwartz gentoo-dev 2022-11-08 21:37:59 UTC
There's some totally bogus stuff going on here. The main problem is you specifically said "no I do not want ICU" and here it is, giving you ICU.

Via cmake, because heck why not. I daren't imagine how the cmake support code works at the best of times, nor why cmake is finding a 64-bit ICU as part of a 32-bit build, but heck, there you are.

I have submitted https://github.com/harfbuzz/harfbuzz/pull/3870 to fix it.
Comment 8 Serge 2022-11-09 17:34:24 UTC
its a AMD64 system using some 32bits app

portage for icu is: 
[ebuild   R    ] dev-libs/icu-71.1-r1:0/71.1::gentoo  USE="-debug -doc -examples -static-libs -test -verify-sig" ABI_X86="(64) -32 (-x32)"

portage for harfbuzz:
[ebuild     U  ] media-libs/harfbuzz-5.3.1:0/4.0.0::gentoo [5.1.0:0/4.0.0::gentoo] USE="cairo glib graphite introspection truetype -debug -doc -experimental -icu -test" ABI_X86="32 (64) (-x32)"

icu is only ABI_X86 64 but hafbuzz is ABI_X86  32 and 64

could it be a problem ?

perhaps icu need also the ABI_X86 32 and 64 ?
Comment 9 Serge 2022-11-09 18:01:04 UTC
tried it on the latest version and it compile fine with -icu flag
but compile icu part... not a big problem.

sk-srv ~ #  lddtree /usr/lib/libharfbuzz-icu.so.0.50301.0
libharfbuzz-icu.so.0.50301.0 => /usr/lib/libharfbuzz-icu.so.0.50301.0 (interpreter => none)
    libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0
        libm.so.6 => /lib/libm.so.6
            ld-linux.so.2 => /lib/ld-linux.so.2
        libfreetype.so.6 => /usr/lib/libfreetype.so.6
            libbz2.so.1 => /usr/lib/libbz2.so.1
            libpng16.so.16 => /usr/lib/libpng16.so.16
            libz.so.1 => /usr/lib/libz.so.1
        libgraphite2.so.3 => /usr/lib/libgraphite2.so.3
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
            libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
    libicuuc.so.71 => /usr/lib/libicuuc.so.71
        libicudata.so.71 => /usr/lib/libicudata.so.71
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/32/libstdc++.so.6
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/32/libgcc_s.so.1
    libc.so.6 => /lib/libc.so.6
sk-srv ~ # lddtree /usr/lib64/libharfbuzz-icu.so.0.50301.0
libharfbuzz-icu.so.0.50301.0 => /usr/lib64/libharfbuzz-icu.so.0.50301.0 (interpreter => none)
    libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0
        libm.so.6 => /lib64/libm.so.6
            ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6
            libbz2.so.1 => /lib64/libbz2.so.1
            libpng16.so.16 => /usr/lib64/libpng16.so.16
            libz.so.1 => /lib64/libz.so.1
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0
            libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0
    libicuuc.so.71 => /usr/lib64/libicuuc.so.71
        libicudata.so.71 => /usr/lib64/libicudata.so.71
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/libstdc++.so.6
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/libgcc_s.so.1
    libc.so.6 => /lib64/libc.so.6
Comment 10 Serge 2022-11-09 18:12:36 UTC
(In reply to Serge from comment #9)

but icu need the abi_x86_32 use flag.
without it harfbuzz fail same as before
Comment 11 Larry the Git Cow gentoo-dev 2022-11-10 05:14:17 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e5d8576d295164bc6dc9873e68ed94fd46968cf

commit 9e5d8576d295164bc6dc9873e68ed94fd46968cf
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-11-10 05:13:32 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-11-10 05:14:03 +0000

    media-libs/harfbuzz: backport fix for icu/freetype detection
    
    Bug: https://bugs.gentoo.org/830966
    Closes: https://bugs.gentoo.org/880405
    Closes: https://bugs.gentoo.org/880479
    Thanks-to: Eli Schwartz <eschwartz93@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/harfbuzz-5.3.1-meson-freetype-icu.patch  | 120 +++++++++++++++++++++
 media-libs/harfbuzz/harfbuzz-5.3.1-r1.ebuild       | 104 ++++++++++++++++++
 2 files changed, 224 insertions(+)
Comment 12 Serge 2022-11-10 08:59:41 UTC
nice!

it compile now and respect the icu use flag
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-10 09:00:38 UTC
(In reply to Serge from comment #12)
> nice!
> 
> it compile now and respect the icu use flag

Eli is a star :)

I'll kick off stabilisation of that fixed version now, I just wanted to let it bake in ~arch for a few hours in case of anything unexpected.

Thanks for confirming it's OK!