Building a gnulib testdir on Mac OS X 10.5.8 with CC="gcc -arch ppc" and
CXX="g++ -arch ppc", I see these link errors:

g++ -arch ppc  -Wno-error -g -O2  -L/Users/bruno/data/local-macos-ppc/lib -o 
test-string-c++ test-string-c++.o test-string-c++2.o libtests.a 
../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.a     
Undefined symbols:
  "_iconv_open", referenced from:
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
  "_iconv", referenced from:
      _unicode_to_locale_encoding in libgnu.a(lc-charset-unicode.o)
      _locale_encoding_to_unicode in libgnu.a(lc-charset-unicode.o)
  "_iconv_close", referenced from:
      _free_converters in libgnu.a(lc-charset-unicode.o)
      _free_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [test-string-c++] Error 1

g++ -arch ppc  -Wno-error -g -O2  -L/Users/bruno/data/local-macos-ppc/lib -o 
test-uchar-c++ test-uchar-c++.o  libtests.a ../gllib/libgnu.a libtests.a 
../gllib/libgnu.a libtests.a    
Undefined symbols:
  "_iconv", referenced from:
      _unicode_to_locale_encoding in libgnu.a(lc-charset-unicode.o)
      _locale_encoding_to_unicode in libgnu.a(lc-charset-unicode.o)
  "_iconv_close", referenced from:
      _free_converters in libgnu.a(lc-charset-unicode.o)
      _free_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
  "_iconv_open", referenced from:
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
      _get_converters in libgnu.a(lc-charset-unicode.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [test-uchar-c++] Error 1
make[4]: Target `all-am' not remade because of errors.
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

This patch fixes them.


2023-10-03  Bruno Haible  <br...@clisp.org>

        string-c++-tests, uchar-c++-tests: Fix link errors on Mac OS X.
        * modules/string-c++-tests (Makefile.am): Link test-string-c++ with
        $(LIBC32CONV).
        * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
        $(LIBC32CONV).

diff --git a/modules/string-c++-tests b/modules/string-c++-tests
index 10d117fa90..fb44ae42da 100644
--- a/modules/string-c++-tests
+++ b/modules/string-c++-tests
@@ -16,5 +16,5 @@ if ANSICXX
 TESTS += test-string-c++
 check_PROGRAMS += test-string-c++
 test_string_c___SOURCES = test-string-c++.cc test-string-c++2.cc
-test_string_c___LDADD = $(LDADD) $(LIBUNISTRING) $(LIBINTL) $(LIBTHREAD)
+test_string_c___LDADD = $(LDADD) $(LIBUNISTRING) $(LIBINTL) $(LIBC32CONV) 
$(LIBTHREAD)
 endif
diff --git a/modules/uchar-c++-tests b/modules/uchar-c++-tests
index 12183abd52..bf6640f712 100644
--- a/modules/uchar-c++-tests
+++ b/modules/uchar-c++-tests
@@ -39,5 +39,5 @@ test_uchar_c___SOURCES = test-uchar-c++.cc
 if CXX_HAVE_CUCHAR
 test_uchar_c___SOURCES += test-uchar-c++2.cc
 endif
-test_uchar_c___LDADD = $(LDADD) $(LIBUNISTRING) $(MBRTOWC_LIB)
+test_uchar_c___LDADD = $(LDADD) $(LIBUNISTRING) $(MBRTOWC_LIB) $(LIBC32CONV)
 endif




Reply via email to