View Issue Details

IDProjectCategoryView StatusLast Update
0000910LDMud 3.6Compilation, Installationpublic2024-04-21 17:26
Reporterzesstra Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Platformx86_64OSMacOS XOS Version14.2.x
Product Version3.6.7 
Target Version3.6.8 
Summary0000910: libiconv detection broken on MacOS for system version
DescriptionThe configure check for detection iconv support looks for a symbol libiconv_close which is present in the GNU libiconv, but not in the iconv support by the Systemlib of Macos (and likely also not in (g)libc).
Workaround is to install a GNU libiconv via macports/fink/homebrew etc.

configure output:
checking for iconv... yes
checking if iconv takes a non-const char**... yes
checking if -liconv is needed... yes
checking for libiconv_close in -liconv... no
checking for libiconv_close in -liconv... (cached) no

excerpt from config.log:
configure:11469: checking for libiconv_close in -liconv
configure:11498: gcc -o conftest -g -O2 -fwrapv -I/usr/inet6/include conftest.c -liconv -lm >&5
Undefined symbols for architecture arm64:
  "_libiconv_close", referenced from:
      _main in conftest-e50b42.o
ld: symbol(s) not found for architecture arm64


The linker fails later resolving any iconv symbols, because no -liconv is passed. (Unfortunately with a quite misleading error message referencing a specific architecture.)

gcc -O2 -g access_check.o actions.o applied_decl.o array.o arraylist.o backend.o bitstrings.o call_out.o closure.o comm.o coroutine.o dumpstat.o ed.o efuns.o files.o gcollect.o hash.o heartbeat.o interpret.o lex.o lwobject.o main.o mapping.o md5.o mempools.o mregex.o mstrings.o object.o otable.o parser.o parse.o pkg-iksemel.o pkg-xml2.o pkg-idna.o pkg-mccp.o pkg-mysql.o pkg-gcrypt.o pkg-json.o pkg-python.o pkg-pgsql.o pkg-sqlite.o pkg-tls.o pkg-openssl.o pkg-gnutls.o port.o ptrtable.o random.o regexp.o sha1.o simulate.o simul_efun.o stdstrings.o stdstructs.o strfuns.o structs.o sprintf.o swap.o types.o unidata.o wiz_list.o xalloc.o -o ldmud -lm -lsqlite3 -lxml2
Undefined symbols for architecture arm64:
  "_iconv", referenced from:
      _add_message_text in comm.o
      _iconv_opt in comm.o
      _read_file_iconv in files.o
      _v_write_file in files.o
      _iconv_opt in files.o
      __myfilbuf in lex.o
      _iconv_opt in lex.o
      ...
  "_iconv_close", referenced from:
      _remove_interactive in comm.o
      _remove_interactive in comm.o
      _f_configure_interactive in comm.o
      _set_encoding in comm.o
      _set_encoding in comm.o
      _set_encoding in comm.o
      _f_configure_driver in efuns.o
      ...
  "_iconv_open", referenced from:
      _iconv_opt_open in comm.o
      _set_encoding in comm.o
      _set_encoding in comm.o
      _iconv_opt_open in efuns.o
      _v_read_file in files.o
      _v_read_file in files.o
      _get_file_encoding in files.o
      _get_file_encoding in files.o
      _get_file_encoding in files.o
      ...
ld: symbol(s) not found for architecture arm64
TagsNo tags attached.

Activities

zesstra

2024-04-21 17:26

administrator   ~0002715

Maybe switch iconv checks to use: https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html

Issue History

Date Modified Username Field Change
2024-04-21 16:16 zesstra New Issue
2024-04-21 16:20 zesstra Description Updated
2024-04-21 16:21 zesstra OS Version 10.9.x => 14.2.x
2024-04-21 16:21 zesstra Target Version => 3.6.8
2024-04-21 17:26 zesstra Note Added: 0002715