Undefined symbols for architecture x86_64 after make

96 views
Skip to first unread message

Tamarindo

unread,
May 13, 2020, 12:32:21 PM5/13/20
to LDMud Talk
Hi all,

I am trying to update to 3.6.2 on a machine that is trapped on MacOS 10.10 and can go no higher.  The machine is running a 3.5.1 driver now.  I am receiving the following issue at the end of make.  I included what I see in configure below as well as some information about the libiconv on the machine in case that helps.  Any ideas?

-Tamarindo

---- at the end of make ----

gcc -O2 -g    access_check.o actions.o array.o arraylist.o backend.o bitstrings.o call_out.o closure.o comm.o dumpstat.o ed.o efuns.o files.o gcollect.o hash.o heartbeat.o interpret.o lex.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 strfuns.o structs.o sprintf.o swap.o types.o wiz_list.o xalloc.o   -o ldmud -lm   -lpcre -L/usr/local/Cellar/json-c/0.13.1/lib -ljson-c -lxml2

Undefined symbols for architecture x86_64:

  "_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:

      _f_configure_interactive in comm.o

      _set_encoding in comm.o

      _f_configure_driver in efuns.o

      _iconv_error_handler in files.o

      _set_input_source in lex.o

      _close_input_source in lex.o

      _convert_path_encoding in simulate.o

      ...

  "_iconv_open", referenced from:

      _f_configure_interactive in comm.o

      _set_encoding in comm.o

      _f_configure_driver in efuns.o

      _v_read_file in files.o

      _get_file_encoding in files.o

      _v_write_file in files.o

      _set_input_source in lex.o

      ...

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [ldmud] Error 1


---- Here is how the configure looks ----


checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables... 

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for gcc option to accept ISO C99... none needed

checking for gcc option to accept ISO Standard C... (cached) none needed

checking whether compiler supports -fwrapv... yes

checking whether compiler supports -Wall... yes

checking whether compiler supports -Wparentheses... yes

checking whether compiler supports -Wshadow... yes

checking whether compiler supports -Wstrict-overflow=2... yes

checking warning CFLAGS...  -Wall -Wparentheses -Wshadow -Wstrict-overflow=2

checking for inline... inline

checking for typeof syntax and keyword spelling... typeof

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /usr/bin/grep

checking for egrep... /usr/bin/grep -E

checking for preprocessor stringizing operator... yes

checking for variable-length arrays... yes

checking for working volatile... yes

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking whether byte ordering is bigendian... no

checking for int8_t... yes

checking for int16_t... yes

checking for int32_t... yes

checking for int64_t... yes

checking for unsigned long long int... yes

checking for long long int... yes

checking for intmax_t... yes

checking for intptr_t... yes

checking for uint8_t... yes

checking for uint16_t... yes

checking for uint32_t... yes

checking for uint64_t... yes

checking for uintmax_t... yes

checking for uintptr_t... yes

checking for long long int... (cached) yes

checking for unsigned long long int... (cached) yes

checking for long double... yes

checking for long double with more range or precision than double... yes

checking for ssize_t... yes

checking for size_t... yes

checking for off_t... yes

checking for mode_t... yes

checking for pid_t... yes

checking return type of signal handlers... void

checking size of char *... 8

checking size of int... 4

checking size of short... 2

checking size of long... 8

checking size of long long... 8

checking size of intptr_t... 8

checking size of intmax_t... 8

checking size of double... 8

checking for a BSD-compatible install... /usr/bin/install -c

checking for bison... bison

checking how to run the C preprocessor... gcc -E

checking for stdbool.h that conforms to C99... yes

checking for _Bool... yes

checking sys/rusage.h usability... no

checking sys/rusage.h presence... no

checking for sys/rusage.h... no

checking sys/time.h usability... yes

checking sys/time.h presence... yes

checking for sys/time.h... yes

checking for sys/types.h... (cached) yes

checking for unistd.h... (cached) yes

checking for stdlib.h... (cached) yes

checking libc.h usability... yes

checking libc.h presence... yes

checking for libc.h... yes

checking for memory.h... (cached) yes

checking for string.h... (cached) yes

checking bstring.h usability... no

checking bstring.h presence... no

checking for bstring.h... no

checking netdb.h usability... yes

checking netdb.h presence... yes

checking for netdb.h... yes

checking crypt.h usability... no

checking crypt.h presence... no

checking for crypt.h... no

checking sys/param.h usability... yes

checking sys/param.h presence... yes

checking for sys/param.h... yes

checking sys/termios.h usability... yes

checking sys/termios.h presence... yes

checking for sys/termios.h... yes

checking netinet/in.h usability... yes

checking netinet/in.h presence... yes

checking for netinet/in.h... yes

checking arpa/nameser.h usability... yes

checking arpa/nameser.h presence... yes

checking for arpa/nameser.h... yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking for dirent.h that defines DIR... yes

checking for library containing opendir... none required

checking whether time.h and sys/time.h may both be included... yes

checking for sys/time.h... (cached) yes

checking for unistd.h... (cached) yes

checking for alarm... yes

checking for working mktime... no

checking for working alloca.h... yes

checking for alloca... yes

checking for fchmod... yes

checking for getrusage... yes

checking for memmem... yes

checking for getcwd... yes

checking for sysconf... yes

checking for gettimeofday... yes

checking for wait3... yes

checking for waitpid... yes

checking for fcntl... yes

checking for getdomainname... yes

checking for poll... yes

checking for trunc... yes

checking for mmap... yes

checking for getpagesize... yes

checking for main in -lm... yes

checking for main in -lsocket... no

checking for main in -lnsl... no

checking for main in -lucb... no

checking if -lresolv is needed... no

checking for crypt... yes

checking for _crypt... no

checking if inet_ntoa() ok... yes

checking for IPv6 support... yes

checking for OpenSSL support... yes

checking for main in -lpcre... yes

checking for PCRE usability... yes

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

iconv library not found.

checking idna.h usability... no

checking idna.h presence... no

checking for idna.h... no

checking stringprep.h usability... no

checking stringprep.h presence... no

checking for stringprep.h... no

checking for stringprep_check_version in -lidn... no

checking for mySQL... yes

checking for PostgresSQL... no

checking for pkg-config... /usr/local/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for json-c >= 0.12... yes

checking for libxml-2.0... yes

checking if rename handles directories... yes

checking full availability of struct rusage members... yes

checking struct rusage timeval members with tv_usec... yes

checking if return type of free is void... yes

checking if void* or char* from malloc... void *

checking if CHAR_BIT == 8 or undef... yes

checking nonblocking using ioctl with FIONBIO... yes

checking nonblocking using fcntl with O_NDELAY... yes

checking nonblocking using fcntl with FNDELAY... yes

checking if fcntl with SETOWN works... yes

checking if OOBINLINE works... yes

checking low optimization CFLAGS... -O -g

checking medium optimization CFLAGS... -O2 -g

checking highest optimization CFLAGS... -O4 -fomit-frame-pointer  -g

checking if tail accepts the -n parameter... yes

checking for a working sbrk()... no

checking malloc overhead... 0

configure: creating ./config.status

config.status: creating Makefile

config.status: creating config.h

config.status: creating util/Makefile

config.status: creating util/indent/Makefile

config.status: creating util/xerq/Makefile

config.status: creating util/erq/Makefile

config.status: creating machine.h

config.status: machine.h is unchanged


---- I did try to reinstall libiconv in case that may help ----


StickMUD:src stickmud$ brew install libiconv

Warning: libiconv 1.16 is already installed and up-to-date

To reinstall 1.16, run `brew reinstall libiconv`

StickMUD:src stickmud$ brew reinstall libiconv

Warning: You are using macOS 10.10.

We (and Apple) do not provide support for this old version.

You will encounter build failures with some formulae.

Please create pull requests instead of asking for help on Homebrew's GitHub,

Discourse, Twitter or IRC. You are responsible for resolving any issues you

experience while you are running this old version.


==> Reinstalling libiconv 

Error: An exception occurred within a child process:

  NoMethodError: undefined method `source' for nil:NilClass

Tamarindo

unread,
May 13, 2020, 5:09:17 PM5/13/20
to LDMud Talk
---- Got some help from ----

brew link libiconv 

---- and did this and got the driver to compile ----

export LDFLAGS="-L/usr/local/opt/libiconv/lib -L/usr/lib ${LDFLAGS}"
export CPPFLAGS="-I/usr/local/opt/libiconv/include -I/usr/include ${CPPFLAGS}"
export CFLAGS="-I/usr/include ${CFLAGS}"
export EXTRA_CFLAGS=$CFLAGS
Reply all
Reply to author
Forward
0 new messages