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(a)redhat.com
Reporter: mtasaka(a)fedoraproject.org
QA Contact: extras-qa(a)fedoraproject.org
CC: i18n-bugs(a)lists.fedoraproject.org, klember(a)redhat.com,
moceap(a)hotmail.com, pnemade(a)redhat.com,
psatpute(a)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
```
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2005912