FS#71680 - [freetype2] Freetype 2.11 introduces breaking compatibility

Attached to Project: Arch Linux
Opened by Mika Norén (SysGhost) - Sunday, 01 August 2021, 04:34 GMT
Last edited by Jan Alexander Steffens (heftig) - Monday, 13 September 2021, 08:04 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Andreas Radke (AndyRTR)
Jan Alexander Steffens (heftig)
Levente Polyak (anthraxx)
Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
Freetype 2.11 introduces some changes that are breaking compatibility.
Valve's Steam client is one application that doesn't work with Freetype 2.11.0. It relies on 2.10 or lower. It renders all black screens, with the error:
./steamwebhelper: symbol lookup error: /usr/lib/libfreetype.so.6: undefined symbol: hb_ot_tags_from_script_and_language
Looking around the web, there seem to be some applications that have the same problem. Undefined symbols.

This isn't Freetype's own fault per see. Just that changes in the new rendering engine are breaking compatibility.

I'd suggest that Freetype 2.11 doesn't pass testing until these compatibility issues have been addressed. Although not sure if this is upstream on FreeType, or the other applications not compatible with FreeType 2.11


Steps to reproduce:
Update to the latest freetype package in testing.
Run applications that still rely on freetype 2.10 (Steam, Plex, etc...)
Watch as the applications fail to render due to freetype symbol errors.

This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Monday, 13 September 2021, 08:04 GMT
Reason for closing:  Not a bug
Additional comments about closing:  proprietary apps shipping ancient harfbuzz libs, not a freetype bug
Comment by Andreas Radke (AndyRTR) - Sunday, 01 August 2021, 08:50 GMT Comment by Jan Alexander Steffens (heftig) - Sunday, 01 August 2021, 17:26 GMT
I suspect this is the fault of steam shipping a libharfbuzz that is too old. hb_ot_tags_from_script_and_language was introduced in harfbuzz 2.0.0 in 2018, but the steam runtime contains harfbuzz 0.9.35.
Comment by Giancarlo Razzolini (grazzolini) - Thursday, 05 August 2021, 00:29 GMT
Steam native is working just fine. This is happening on steam-runtime only.
Comment by Michael J Evans (mjevans) - Thursday, 05 August 2021, 01:52 GMT
I agree with:

https://github.com/ValveSoftware/steam-for-linux/issues/7935#issuecomment-890558546

heftig commented 3 days ago

I suspect this is the fault of steam shipping a libharfbuzz that is too old. hb_ot_tags_from_script_and_language was introduced in harfbuzz 2.0.0 in 2018, but the steam runtime contains harfbuzz 0.9.35.

Either steam needs to use system harfbuzz or its own freetype.
Comment by Pablo J. Gonzalez Mora (andean_archer) - Monday, 06 September 2021, 11:16 GMT
The tracker package Activity Watch 0.11.0-2 (https://aur.archlinux.org/packages/activitywatch-bin/) fails with a similar issue:
Cannot load library /opt/activitywatch/PyQt5/Qt/plugins/platforms/libqxcb.so: (/usr/lib/libfreetype.so.6: undefined symbol: hb_ot_tags_from_script_and_language).
Comment by Mister Yolh (mister_yolh) - Wednesday, 08 September 2021, 00:45 GMT
Mathematica has the same problem. Worked fine before.

Wolfram/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: symbol lookup error: /usr/lib/libfreetype.so.6: undefined symbol: hb_ot_tags_from_script_and_language
Comment by heinrich5991 (heinrich5991) - Friday, 10 September 2021, 09:52 GMT
Steam was fixed, you need to enable Steam Beta for now though.

https://github.com/ValveSoftware/steam-for-linux/issues/7935#issuecomment-910080165
Comment by Eberhard im Barte (EberhardimBarte) - Monday, 13 September 2021, 08:01 GMT
I confirm that Mathematica 10 has the same problem.
I managed to run it using the trick as for libfreetype.so.6, i.e. force Mathematica to use the system version of the harfbuzz library
(see the Wiki entry for Mathematica):

cd <INSTALL_DIR>/SystemFiles/Libraries/Linux-x86-64
mv libharfbuzz.so.0 libharfbuzz.so.0.old

Loading...