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 ```
Reported upstream https://github.com/harfbuzz/harfbuzz/issues/3216
I believe all dependencies are fixed now in rawhide.
if there is still any discussion needed here, please continue in upstream ticket https://github.com/harfbuzz/harfbuzz/issues/3216