View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000910 | LDMud 3.6 | Compilation, Installation | public | 2024-04-21 16:16 | 2024-04-21 17:26 |
Reporter | zesstra | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | x86_64 | OS | MacOS X | OS Version | 14.2.x |
Product Version | 3.6.7 | ||||
Target Version | 3.6.8 | ||||
Summary | 0000910: libiconv detection broken on MacOS for system version | ||||
Description | The 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 | ||||
Tags | No tags attached. | ||||
|
Maybe switch iconv checks to use: https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html |