On Wed, Feb 12, 2025 at 09:16:49AM +0100, Alyssa Ross wrote: > This fixes the following build error with icu 76, also seen by > Fedora[1]: > > /nix/store/9g4gsby96w4cx1i338kplaap0x37apdf-binutils-2.43.1/bin/ld: unicrash.o: undefined reference to symbol 'uiter_setString_76' > /nix/store/9g4gsby96w4cx1i338kplaap0x37apdf-binutils-2.43.1/bin/ld: /nix/store/jbnm36wq89c7iws6xx6xvv75h0drv48x-icu4c-76.1/lib/libicuuc.so.76: error adding symbols: DSO missing from command line > collect2: error: ld returned 1 exit status > make[2]: *** [../include/buildrules:65: xfs_scrub] Error 1 > make[1]: *** [include/buildrules:35: scrub] Error 2 > > Link: https://src.fedoraproject.org/rpms/xfsprogs/c/624b0fdf7b2a31c1a34787b04e791eee47c97340 [1] > Signed-off-by: Alyssa Ross <hi@xxxxxxxxx> Interesting that this pulls in libicuuc just fine without including icu-uc.pc, at least on Debian 12: $ grep LIBICU_LIBS build-x86_64/ build-x86_64/include/builddefs:222:LIBICU_LIBS = -licui18n -licuuc -licudata Debian sid has the same icu 76 and (AFAICT) it still pulls in the dependency: Name: icu-i18n Requires: icu-uc Is there something different in Fedora nowadays? I'm not opposed to this change, I'm wondering why there's a build failure and how adding it explicitly to AC_HAVE_LIBICU fixes it. --D > --- > m4/package_icu.m4 | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/m4/package_icu.m4 b/m4/package_icu.m4 > index 3ccbe0cc..6b89c874 100644 > --- a/m4/package_icu.m4 > +++ b/m4/package_icu.m4 > @@ -1,5 +1,5 @@ > AC_DEFUN([AC_HAVE_LIBICU], > - [ PKG_CHECK_MODULES([libicu], [icu-i18n], [have_libicu=yes], [have_libicu=no]) > + [ PKG_CHECK_MODULES([libicu], [icu-i18n icu-uc], [have_libicu=yes], [have_libicu=no]) > AC_SUBST(have_libicu) > AC_SUBST(libicu_CFLAGS) > AC_SUBST(libicu_LIBS) > > base-commit: 90d6da68ee54e6d4ef99eca4a82cac6036a34b00 > -- > 2.47.0 > >