Bug: SeaMonkey link failure with recent system icu
Status: RESOLVED
Priority: --
Resolution: FIXED
Created: 2023-11-14 20:57:01+00:00
Resolved: 2024-11-25 02:43:38+00:00

I'm unable to build SeaMonkey 2.53.18b1 on openSUSE Tumbleweed due to linker errors:

```
[ 1552s] toolkit/library/libxul.so
[ 1552s] rm -f libxul.so
[ 1552s] /var/lib/build/ccache/bin/g++ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-compat -Wc++2a-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=pessimizing-move -Wno-error=self-move -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=multistatement-macros -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wno-error=unused-but-set-variable -Wformat -Wformat-overflow=2 -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -fno-strict-aliasing -fimplicit-constexpr -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O2 -fomit-frame-pointer -funwind-tables  -fPIC -shared -Wl,-z,defs -Wl,--gc-sections -Wl,-h,libxul.so -o libxul.so /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/obj-x86_64-pc-linux-gnu/toolkit/library/libxul_so.list   -lpthread -fstack-protector-strong -Wl,-z,noexecstack -Wl,-z,text -Wl,-z,relro -Wl,-z,nocopyreloc -Wl,-Bsymbolic-functions -Wl,--build-id=sha1 /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/toolkit/library/StaticXULComponents.ld -Wl,-rpath-link,/home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/obj-x86_64-pc-linux-gnu/dist/bin -Wl,-rpath-link,/usr/lib   ../../js/src/build/libjs_static.a x86_64-unknown-linux-gnu/release/libgkrust.a ../../comm/ldap/c-sdk/libraries/libldap/libldap60.so ../../comm/ldap/c-sdk/libraries/libldif/libldif60.so ../../comm/ldap/c-sdk/libraries/libprldap/libprldap60.so ../../security/sandbox/linux/libmozsandbox.so ../../config/external/lgpllibs/liblgpllibs.so ../../config/external/sqlite/libmozsqlite3.so ../../widget/gtk/mozgtk/libmozgtk.so -Wl,--version-script,symverscript  -L/usr/lib64 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -licui18n -licuuc -licudata -lz -lm -lrt -lX11 -lX11-xcb -lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lc -Wl,-rpath-link,/usr/lib64 -lssl3 -lsmime3 -lnss3 -lnssutil3 -lfreetype -lfontconfig -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lwebp -lwebpdemux -lasound -ldbus-glib-1 -ldbus-1 -lxcb-shm -lpangoft2-1.0 -lXt -lgthread-2.0 -lproxy
[ 1561s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: warning: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/toolkit/library/StaticXULComponents.ld contains output sections; did you forget -T?
[ 1574s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/obj-x86_64-pc-linux-gnu/toolkit/library/../../intl/locale/gtk/OSPreferences_gtk.o: in function `mozilla::intl::OSPreferences::ReadSystemLocales(nsTArray<nsTString<char> >&)':
[ 1574s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/intl/locale/gtk/OSPreferences_gtk.cpp:24:(.text._ZN7mozilla4intl13OSPreferences17ReadSystemLocalesER8nsTArrayI9nsTStringIcEE+0x1c): undefined reference to `uloc_getDefault_73'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src10.o): in function `js::DateTimeInfo::computeUTCOffsetMilliseconds(long)':
[ 1581s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:387:(.text._ZN2js12DateTimeInfo28computeUTCOffsetMillisecondsEl+0x57): undefined reference to `icu_73::BasicTimeZone::getOffsetFromLocal(double, int, int, int&, int&, UErrorCode&) const'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src10.o): in function `js::DateTimeInfo::timeZone()':
[ 1581s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:483:(.text._ZN2js12DateTimeInfo28computeUTCOffsetMillisecondsEl+0x8f): undefined reference to `icu_73::TimeZone::createDefault()'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:483:(.text._ZN2js12DateTimeInfo28computeDSTOffsetMillisecondsEl+0x87): undefined reference to `icu_73::TimeZone::createDefault()'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:483:(.text._ZN2js12DateTimeInfo30computeLocalOffsetMillisecondsEl+0x87): undefined reference to `icu_73::TimeZone::createDefault()'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src10.o): in function `js::DateTimeInfo::internalTimeZoneDisplayName(char16_t*, unsigned long, long, char const*)':
[ 1581s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:445:(.text._ZN2js12DateTimeInfo27internalTimeZoneDisplayNameEPDsmlPKc+0x255): undefined reference to `icu_73::TimeZone::getDisplayName(signed char, icu_73::TimeZone::EDisplayType, icu_73::Locale const&, icu_73::UnicodeString&) const'
[ 1581s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src10.o): in function `js::DateTimeInfo::timeZone()':
[ 1581s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/DateTime.cpp:483:(.text._ZN2js12DateTimeInfo27internalTimeZoneDisplayNameEPDsmlPKc+0x2f7): undefined reference to `icu_73::TimeZone::createDefault()'
[ 1582s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src16.o): in function `JSRuntime::getDefaultLocale()':
[ 1582s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/Runtime.cpp:564:(.text._ZN9JSRuntime16getDefaultLocaleEv.part.0+0xa): undefined reference to `uloc_getDefault_73'
[ 1582s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/vm/Runtime.cpp:564:(.text._ZN9JSRuntime16getDefaultLocaleEv+0x24): undefined reference to `uloc_getDefault_73'
[ 1582s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src3.o): in function `js::intl_numberingSystem(JSContext*, unsigned int, JS::Value*)':
[ 1582s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/builtin/intl/NumberFormat.cpp:219:(.text._ZN2js20intl_numberingSystemEP9JSContextjPN2JS5ValueE+0x89): undefined reference to `unumsys_open_73'
[ 1582s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/builtin/intl/NumberFormat.cpp:227:(.text._ZN2js20intl_numberingSystemEP9JSContextjPN2JS5ValueE+0x9c): undefined reference to `unumsys_getName_73'
[ 1582s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ../../js/src/build/libjs_static.a(Unified_cpp_js_src3.o): in function `js::ScopedICUObject<UNumberingSystem, &unumsys_close_73>::~ScopedICUObject()':
[ 1582s] /home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/js/src/builtin/intl/ScopedICUObject.h:30:(.text._ZN2js20intl_numberingSystemEP9JSContextjPN2JS5ValueE+0xc5): undefined reference to `unumsys_close_73'
[ 1587s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libxul.so: hidden symbol `_ZN6icu_738TimeZone13createDefaultEv' isn't defined
[ 1587s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: final link failed: bad value
[ 1587s] collect2: error: ld returned 1 exit status
[ 1587s] make[4]: *** [/home/abuild/rpmbuild/BUILD/seamonkey-2.53.18b1/mozilla/config/rules.mk:635: libxul.so] Error 1
```