Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 627820

Summary: www-client/firefox-55 - ld: libxul.so: hidden symbol `_ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordPN7mozilla3gfx10DrawTargetEPKT_jjNS3_7unicode6ScriptEbiNS4_15ShapedTextFlagsEN13gfxFontShaper13RoundingFlagsEP18gfxTextPerfMetrics' isn't defined (USE=pgo)
Product: Gentoo Linux Reporter: Andrew <awkravchuk>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED DUPLICATE    
Severity: normal CC: alecm_88, leio
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=1389436
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info '=www-client/firefox-55.0::gentoo
build.log.gz

Description Andrew 2017-08-14 09:45:14 UTC
Created attachment 488886 [details]
emerge --info '=www-client/firefox-55.0::gentoo

Hello.
Firefox 55 fails to compile on my machine for several days worth of portage tree updates with the following error:

../../gfx/thebes/Unified_cpp_gfx_thebes1.o: In function `gfxTextRun::SetSpaceGlyph(gfxFont*, mozilla::gfx::DrawTarget*, unsigned int, mozilla::gfx::ShapedTextFlags) [clone .cold.365]':
Unified_cpp_gfx_thebes1.cpp:(.text.unlikely+0x628b): undefined reference to `gfxShapedWord* gfxFont::GetShapedWord<unsigned char>(mozilla::gfx::DrawTarget*, unsigned char const*, unsigned int, unsigned int, mozilla::unicode::Script, bool, int, mozilla::gfx::ShapedTextFlags, gfxFontShaper::RoundingFlags, gfxTextPerfMetrics*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: libxul.so: hidden symbol `_ZN7gfxFont13GetShapedWordIhEEP13gfxShapedWordPN7mozilla3gfx10DrawTargetEPKT_jjNS3_7unicode6ScriptEbiNS4_15ShapedTextFlagsEN13gfxFontShaper13RoundingFlagsEP18gfxTextPerfMetrics' isn't defined
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value

The output of `emerge -pqv '=www-client/firefox-55.0::gentoo'`:

[ebuild     U ] www-client/firefox-55.0 [54.0.1] USE="dbus gmp-autoupdate pgo startup-notification -bindist -custom-cflags -custom-optimization -debug -hardened -hwaccel -jack (-neon) -nsplugin -pulseaudio (-selinux) (-system-cairo) -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite {-test} -wifi (-jemalloc%*)" L10N="ru -ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW"
Comment 1 Andrew 2017-08-14 09:47:16 UTC
Created attachment 488888 [details]
build.log.gz
Comment 2 kryptt@gmail.com 2017-08-14 11:47:51 UTC
Same issue for me as well
Comment 3 Mart Raudsepp gentoo-dev 2017-08-14 12:17:42 UTC
I've had this issue since firefox-54. I was told it's some PIE static archives rebuild not being done yet failure, but I'm starting to believe this is USE=pgo related instead, as the profile-generate pass links fine, but not the profile-use re-run.
Comment 4 Andrew 2017-08-14 12:31:38 UTC
(In reply to Mart Raudsepp from comment #3)
> I've had this issue since firefox-54.
In fact I have 54.0.1 built with USE=pgo:

$ eix -I firefox | grep Installed
     Installed versions:  54.0.1^d(20:49:16 07/11/17)(dbus gmp-autoupdate jemalloc pgo startup-notification -bindist -custom-cflags -custom-optimization -debug -hardened -hwaccel -jack -neon -nsplugin -pulseaudio -selinux -system-cairo -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite -test -wifi L10N="ru -ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW")
Comment 5 Tamas Jantvik 2017-08-14 12:35:44 UTC
(In reply to Andrew from comment #4)
> In fact I have 54.0.1 built with USE=pgo:
> 
> $ eix -I firefox | grep Installed
>      Installed versions:  54.0.1^d(20:49:16 07/11/17)(dbus gmp-autoupdate
> jemalloc pgo startup-notification -bindist -custom-cflags
> -custom-optimization -debug -hardened -hwaccel -jack -neon -nsplugin
> -pulseaudio -selinux -system-cairo -system-harfbuzz -system-icu -system-jpeg
> -system-libevent -system-libvpx -system-sqlite -test -wifi L10N="ru -ach -af
> -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb
> -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr
> -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab
> -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl
> -pt-BR -pt-PT -rm -ro -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz
> -vi -xh -zh-CN -zh-TW")

I do as well, but while building 55 I get the same error as the bug reporter.

# eix -Ie firefox | grep Installed
     Installed versions:  54.0.1^d(07:52:16 2017-07-11)(dbus gmp-autoupdate hwaccel jemalloc nsplugin pgo pulseaudio startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite wifi -bindist -custom-cflags -custom-optimization -debug -hardened -jack -neon -selinux -system-cairo -test L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW")
Comment 6 Mart Raudsepp gentoo-dev 2017-08-14 14:39:53 UTC
I'm not sure anymore what was up with 44, but I got 45 successfully built with USE=-pgo (albeit I did do some static archive rebuilds inbetween, but the other reporters here don't seem to be on PIE, so shouldn't be the matter here).

Those who had firefox 54 with PGO successfully, did you upgrade to it straight with USE=pgo or happened to add that USE flag after a non-pgo firefox 54 was already installed?
Comment 7 Andrew 2017-08-14 14:49:35 UTC
(In reply to Mart Raudsepp from comment #6)
> Those who had firefox 54 with PGO successfully, did you upgrade to it
> straight with USE=pgo
Yep, I had USE=pgo for ages, since version 45 at least.
Comment 8 Mart Raudsepp gentoo-dev 2017-08-14 17:59:11 UTC
Ok, maybe it was a different issue with 54 for me (perhaps the PIE stuff, which I got resolved by now; but it was the same symbol afair if that gives any hints to current issue), so now we are at 55.0 failing with USE=pgo for many.

(my previous comment said version 44 when I meant 54 and 45 when I meant 55)
Comment 9 Alec Meyers 2017-08-15 01:33:12 UTC
I also had a failure with firefox-54, and I remember it failing on GetShapedWord. At the time I fixed it by switching to gcc-5.4. That doesn't help with firefox-55 , though.
Comment 10 Sven B. 2017-08-15 06:29:33 UTC
(In reply to Alec Meyers from comment #9)
> I also had a failure with firefox-54, and I remember it failing on
> GetShapedWord. At the time I fixed it by switching to gcc-5.4. That doesn't
> help with firefox-55 , though.

You can try using a patch (bug #617690) or remove the profiling data for the troublesome files (once generated) https://bugzilla.mozilla.org/show_bug.cgi?id=1332788#c23 . Using the NO_PGO = true approach from the mozilla bug may also help with gcc 5.4.
Comment 11 Mart Raudsepp gentoo-dev 2017-08-15 07:06:59 UTC
There's an upstream patch at https://hg.mozilla.org/mozilla-central/rev/97dae871389b - maybe someone with free CPU cycles could try if it helps.
I put the upstream bug entry to See Also as well. (Thanks Sven, got there via your link)
Comment 12 Andrew 2017-08-15 11:06:11 UTC
All right, I've been able to successfully merge Firefox 55 with the patch posted above. No jagged fonts, no problems (except all of my addons marked as obsolete :D)

Should I close this bug?..
Comment 13 Mart Raudsepp gentoo-dev 2017-08-15 12:08:34 UTC
(In reply to Andrew from comment #12)
> Should I close this bug?..

No, firefox[pgo] is still broken in main tree.
Comment 14 Jory A. Pratt gentoo-dev 2017-08-15 12:31:10 UTC

*** This bug has been marked as a duplicate of bug 617690 ***
Comment 15 Alec Meyers 2017-08-16 00:43:39 UTC
(In reply to Mart Raudsepp from comment #11)
> There's an upstream patch at
> https://hg.mozilla.org/mozilla-central/rev/97dae871389b - maybe someone with
> free CPU cycles could try if it helps.
> I put the upstream bug entry to See Also as well. (Thanks Sven, got there
> via your link)

Thanks Mart, that patch worked for me.