On macOS, using a default configure (without --with-libintl-prefix) causes link errors due to missing frameworks used by localename-unsafe:
$ ./configure ... $ grep -w -e LIBINTL -e USE_NLS config.status S["USE_NLS"]="no" S["LIBINTL"]="" $ make src/du V=1 gcc -Wno-format-extra-args -Wno-implicit-const-int-float-conversion -Wno-tautological-constant-out-of-range-compare -g -O2 -o src/du src/du.o src/show-date.o src/libver.a lib/libcoreutils.a lib/libcoreutils.a ld: warning: ignoring duplicate libraries: 'lib/libcoreutils.a' Undefined symbols for architecture arm64: "_CFGetTypeID", referenced from: _gl_locale_name_default in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) "_CFPreferencesCopyAppValue", referenced from: _gl_locale_name_default in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) "_CFStringGetCString", referenced from: _gl_locale_name_default in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) "_CFStringGetTypeID", referenced from: _gl_locale_name_default in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) "___CFConstantStringClassReference", referenced from: in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) "_kCFPreferencesCurrentApplication", referenced from: _gl_locale_name_default in libcoreutils.a[183](libcoreutils_a-localename-unsafe.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [src/du] Error 1 OTOH, when USE_NLS is "yes", linking is fine because then $LIBINTL contains $INTL_MACOSX_LIBS, and LDADD in src/local.mk always includes $(LIBINTL). The attached patch might be too complicated or the wrong approach but addresses the issue for me.
0001-build-fix-macOS-build-without-libintl.patch
Description: Binary data