https://bugzilla.redhat.com/show_bug.cgi?id=2005912
Bug ID: 2005912 Summary: harfbuzz 3.0.0 removed symbols despite no soname change Product: Fedora Version: rawhide Status: NEW Component: harfbuzz Severity: urgent Assignee: pnemade@redhat.com Reporter: mtasaka@fedoraproject.org QA Contact: extras-qa@fedoraproject.org CC: i18n-bugs@lists.fedoraproject.org, klember@redhat.com, moceap@hotmail.com, pnemade@redhat.com, psatpute@redhat.com Target Milestone: --- Classification: Fedora
Description of problem: harfbuzz-3.0.0-1.fc36.x86_64 renoved symbols compared with harfbuzz-2.8.2-2.fc35.x86_64:
``` [tasaka1@localhost x86_64]$ rpmsodiff harfbuzz-2.8.2-2.fc35.x86_64.rpm harfbuzz-3.0.0-1.fc36.x86_64.rpm 2>&1 common sonames: libharfbuzz-gobject.so.0 /usr/lib64/libharfbuzz-gobject.so.0.20802.0 /usr/lib64/libharfbuzz-gobject.so.0.30000.0 libharfbuzz-subset.so.0 /usr/lib64/libharfbuzz-subset.so.0.20802.0 /usr/lib64/libharfbuzz-subset.so.0.30000.0 libharfbuzz.so.0 /usr/lib64/libharfbuzz.so.0.20802.0 /usr/lib64/libharfbuzz.so.0.30000.0
--- harfbuzz-2.8.2-2.fc35/libharfbuzz-gobject.so.0 2021-07-22 18:48:31.000000000 +0900 +++ harfbuzz-3.0.0-1.fc36/libharfbuzz-gobject.so.0 2021-09-18 21:18:29.000000000 +0900 @@ -35,2 +35,3 @@ hb_gobject_shape_plan_get_type T +hb_gobject_style_tag_get_type T hb_gobject_unicode_combining_class_get_type T
1 symbols added T hb_gobject_style_tag_get_type
# template for libharfbuzz-gobject.so.0 version script HARFBUZZ_3.0.0 { global: hb_gobject_style_tag_get_type; };
--- harfbuzz-2.8.2-2.fc35/libharfbuzz-subset.so.0 2021-07-22 18:48:31.000000000 +0900 +++ harfbuzz-3.0.0-1.fc36/libharfbuzz-subset.so.0 2021-09-18 21:18:29.000000000 +0900 @@ -1,26 +1,11 @@ -hb_subset T hb_subset_input_create_or_fail T hb_subset_input_destroy T -hb_subset_input_drop_tables_set T -hb_subset_input_get_desubroutinize T -hb_subset_input_get_drop_hints T -hb_subset_input_get_name_legacy T -hb_subset_input_get_no_prune_unicode_ranges T -hb_subset_input_get_notdef_outline T -hb_subset_input_get_overlaps_flag T -hb_subset_input_get_retain_all_features T -hb_subset_input_get_retain_gids T +hb_subset_input_get_flags T +hb_subset_input_get_user_data T hb_subset_input_glyph_set T -hb_subset_input_layout_features_set T -hb_subset_input_nameid_set T -hb_subset_input_namelangid_set T hb_subset_input_reference T -hb_subset_input_set_desubroutinize T -hb_subset_input_set_drop_hints T -hb_subset_input_set_name_legacy T -hb_subset_input_set_no_prune_unicode_ranges T -hb_subset_input_set_notdef_outline T -hb_subset_input_set_overlaps_flag T -hb_subset_input_set_retain_all_features T -hb_subset_input_set_retain_gids T +hb_subset_input_set T +hb_subset_input_set_flags T +hb_subset_input_set_user_data T hb_subset_input_unicode_set T +hb_subset_or_fail T
21 symbols removed T hb_subset T hb_subset_input_drop_tables_set T hb_subset_input_get_desubroutinize T hb_subset_input_get_drop_hints T hb_subset_input_get_name_legacy T hb_subset_input_get_no_prune_unicode_ranges T hb_subset_input_get_notdef_outline T hb_subset_input_get_overlaps_flag T hb_subset_input_get_retain_all_features T hb_subset_input_get_retain_gids T hb_subset_input_layout_features_set T hb_subset_input_nameid_set T hb_subset_input_namelangid_set T hb_subset_input_set_desubroutinize T hb_subset_input_set_drop_hints T hb_subset_input_set_name_legacy T hb_subset_input_set_no_prune_unicode_ranges T hb_subset_input_set_notdef_outline T hb_subset_input_set_overlaps_flag T hb_subset_input_set_retain_all_features T hb_subset_input_set_retain_gids
6 symbols added T hb_subset_input_get_flags T hb_subset_input_get_user_data T hb_subset_input_set T hb_subset_input_set_flags T hb_subset_input_set_user_data T hb_subset_or_fail
# template for libharfbuzz-subset.so.0 version script HARFBUZZ_3.0.0 { global: hb_subset_input_get_flags; hb_subset_input_get_user_data; hb_subset_input_set; hb_subset_input_set_flags; hb_subset_input_set_user_data; hb_subset_or_fail; };
--- harfbuzz-2.8.2-2.fc35/libharfbuzz.so.0 2021-07-22 18:48:31.000000000 +0900 +++ harfbuzz-3.0.0-1.fc36/libharfbuzz.so.0 2021-09-18 21:18:29.000000000 +0900 @@ -365,2 +365,3 @@ hb_shape_plan_set_user_data T +hb_style_get_value T hb_tag_from_string T
1 symbols added T hb_style_get_value
# template for libharfbuzz.so.0 version script HARFBUZZ_3.0.0 { global: hb_style_get_value; };
vim:ft=diff ```
This breaks binaries and libraries depending on harfbuzz silently.
Version-Release number of selected component (if applicable): harfbuzz-3.0.0-1.fc36.x86_64
Actual results: A. For example, installing qt5-qtwebengine-examples-5.15.6-1.fc36.x86_64 and checking one binary, for example:
``` $ ldd -r /usr/lib64/qt5/examples/webengine/recipebrowser/recipebrowser | grep undefined undefined symbol: hb_subset_input_set_retain_gids (/lib64/libQt5WebEngineCore.so.5) undefined symbol: hb_subset_input_set_drop_hints (/lib64/libQt5WebEngineCore.so.5) undefined symbol: hb_subset (/lib64/libQt5WebEngineCore.so.5) ```
B. Trying to build srpm depending on harfbuzz, for example plasma-workspace fails like https://koji.fedoraproject.org/koji/taskinfo?taskID=76004301
``` [ 63%] Linking CXX executable ../bin/systemmonitor cd /builddir/build/BUILD/plasma-workspace-5.22.90/redhat-linux-build/systemmonitor && /usr/bin/cmake -E cmake_link_script CMakeFiles/systemmonitor.dir/link.txt --verbose=1 /usr/bin/c++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -DNDEBUG -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 CMakeFiles/systemmonitor.dir/systemmonitor_autogen/mocs_compilation.cpp.o CMakeFiles/systemmonitor.dir/ksystemactivitydialog.cpp.o CMakeFiles/systemmonitor.dir/main.cpp.o -o ../bin/systemmonitor -Wl,-rpath,/builddir/build/BUILD/plasma-workspace-5.22.90/redhat-linux-build/bin: /usr/lib64/libprocessui.so.5.22.90 /usr/lib64/libKF5XmlGui.so.5.86.0 /usr/lib64/libKF5GlobalAccel.so.5.86.0 ../bin/libkworkspace5.so.5.22.90 /usr/lib64/libprocesscore.so.5.22.90 /usr/lib64/libKSysGuardFormatter.so.5.22.90 /usr/lib64/libKF5ConfigWidgets.so.5.86.0 /usr/lib64/libKF5Codecs.so.5.86.0 /usr/lib64/libKF5ConfigGui.so.5.86.0 /usr/lib64/libQt5Xml.so.5.15.2 /usr/lib64/libKF5Auth.so.5.86.0 /usr/lib64/libKF5AuthCore.so.5.86.0 /usr/lib64/libKF5WidgetsAddons.so.5.86.0 /usr/lib64/libKF5CoreAddons.so.5.86.0 /usr/lib64/libKF5ConfigCore.so.5.86.0 /usr/lib64/libQt5DBus.so.5.15.2 /usr/lib64/libKF5I18n.so.5.86.0 /usr/lib64/libKF5WindowSystem.so.5.86.0 /usr/lib64/libQt5Widgets.so.5.15.2 /usr/lib64/libX11.so /usr/lib64/libQt5Gui.so.5.15.2 /usr/lib64/libQt5Core.so.5.15.2
/usr/bin/ld: /usr/lib64/libQt5WebEngineCore.so.5: undefined reference to `hb_subset_input_set_drop_hints' /usr/bin/ld: /usr/lib64/libQt5WebEngineCore.so.5: undefined reference to `hb_subset_input_set_retain_gids' /usr/bin/ld: /usr/lib64/libQt5WebEngineCore.so.5: undefined reference to `hb_subset' collect2: error: ld returned 1 exit status gmake[2]: *** [systemmonitor/CMakeFiles/systemmonitor.dir/build.make:133: bin/systemmonitor] Error 1 ```
https://bugzilla.redhat.com/show_bug.cgi?id=2005912
Mamoru TASAKA mtasaka@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Doc Type|--- |If docs needed, set a value Priority|unspecified |high
https://bugzilla.redhat.com/show_bug.cgi?id=2005912
Mamoru TASAKA mtasaka@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|harfbuzz 3.0.0 removed |harfbuzz 3.0.0 removed |symbols despite no soname |symbols despite no soname / |change |soversion change
https://bugzilla.redhat.com/show_bug.cgi?id=2005912
Parag Nemade pnemade@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
--- Comment #1 from Parag Nemade pnemade@redhat.com --- Reported upstream https://github.com/harfbuzz/harfbuzz/issues/3216
https://bugzilla.redhat.com/show_bug.cgi?id=2005912
--- Comment #2 from Parag Nemade pnemade@redhat.com --- I believe all dependencies are fixed now in rawhide.
https://bugzilla.redhat.com/show_bug.cgi?id=2005912
Parag Nemade pnemade@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |CLOSED Resolution|--- |RAWHIDE Last Closed| |2021-09-28 08:03:50
--- Comment #3 from Parag Nemade pnemade@redhat.com --- if there is still any discussion needed here, please continue in upstream ticket https://github.com/harfbuzz/harfbuzz/issues/3216
i18n-bugs@lists.fedoraproject.org