Subject: bug#10988: stable-2.0 failed to build on a Mac

From: [email-masked] (Ludovic Courtès)
Date: Wed, 11 Apr 2012 18:30:08 +0200

Hi Eric,

(Cc: bug.)

Eric Hanchrow <[email-masked]> skribis:

> nice make V=1
> make  all-recursive
> Making all in lib
> make  all-recursive
> make[4]: Nothing to be done for `all-am'.
> Making all in meta
> make[2]: Nothing to be done for `all'.
> Making all in libguile
> make  all-am
> /bin/sh ../libtool  --tag=CC   --mode=link gcc -I/opt/local/include
> -D_THREAD_SAFE  -Wall -Wmissing-prototypes
> -Wdeclaration-after-statement -Wswitch-enum -fno-strict-aliasing
> -fvisibility=hidden -I/opt/local/include   -g -O2 -L/opt/local/lib
> -lgc   -L/opt/local/lib -lffi                 -liconv
> -L/opt/local/lib -lunistring -L/opt/local/lib -liconv -R/opt/local/lib
>   -version-info 26:0:4 -export-dynamic -no-undefined    -o
> libguile-2.0.la -rpath /usr/local/lib libguile_2.0_la-alist.lo
> libguile_2.0_la-arbiters.lo libguile_2.0_la-array-handle.lo
> libguile_2.0_la-array-map.lo libguile_2.0_la-arrays.lo
> libguile_2.0_la-async.lo libguile_2.0_la-backtrace.lo
> libguile_2.0_la-boolean.lo libguile_2.0_la-bitvectors.lo
> libguile_2.0_la-bytevectors.lo libguile_2.0_la-chars.lo
> libguile_2.0_la-control.lo libguile_2.0_la-continuations.lo
> libguile_2.0_la-debug.lo libguile_2.0_la-deprecated.lo
> libguile_2.0_la-deprecation.lo libguile_2.0_la-dynwind.lo
> libguile_2.0_la-eq.lo libguile_2.0_la-error.lo libguile_2.0_la-eval.lo
> libguile_2.0_la-evalext.lo libguile_2.0_la-expand.lo
> libguile_2.0_la-extensions.lo libguile_2.0_la-feature.lo
> libguile_2.0_la-filesys.lo libguile_2.0_la-finalizers.lo
> libguile_2.0_la-fluids.lo libguile_2.0_la-foreign.lo
> libguile_2.0_la-fports.lo libguile_2.0_la-frames.lo
> libguile_2.0_la-gc-malloc.lo libguile_2.0_la-gc.lo
> libguile_2.0_la-gdbint.lo libguile_2.0_la-gettext.lo
> libguile_2.0_la-generalized-arrays.lo
> libguile_2.0_la-generalized-vectors.lo libguile_2.0_la-goops.lo
> libguile_2.0_la-gsubr.lo libguile_2.0_la-guardians.lo
> libguile_2.0_la-hash.lo libguile_2.0_la-hashtab.lo
> libguile_2.0_la-hooks.lo libguile_2.0_la-i18n.lo
> libguile_2.0_la-init.lo libguile_2.0_la-inline.lo
> libguile_2.0_la-instructions.lo libguile_2.0_la-ioext.lo
> libguile_2.0_la-keywords.lo libguile_2.0_la-list.lo
> libguile_2.0_la-load.lo libguile_2.0_la-macros.lo
> libguile_2.0_la-mallocs.lo libguile_2.0_la-memoize.lo
> libguile_2.0_la-modules.lo libguile_2.0_la-null-threads.lo
> libguile_2.0_la-numbers.lo libguile_2.0_la-objcodes.lo
> libguile_2.0_la-objprop.lo libguile_2.0_la-options.lo
> libguile_2.0_la-pairs.lo libguile_2.0_la-poll.lo
> libguile_2.0_la-ports.lo libguile_2.0_la-print.lo
> libguile_2.0_la-procprop.lo libguile_2.0_la-procs.lo
> libguile_2.0_la-programs.lo libguile_2.0_la-promises.lo
> libguile_2.0_la-r6rs-ports.lo libguile_2.0_la-random.lo
> libguile_2.0_la-rdelim.lo libguile_2.0_la-read.lo
> libguile_2.0_la-root.lo libguile_2.0_la-rw.lo
> libguile_2.0_la-scmsigs.lo libguile_2.0_la-script.lo
> libguile_2.0_la-simpos.lo libguile_2.0_la-smob.lo
> libguile_2.0_la-sort.lo libguile_2.0_la-srcprop.lo
> libguile_2.0_la-srfi-1.lo libguile_2.0_la-srfi-4.lo
> libguile_2.0_la-srfi-13.lo libguile_2.0_la-srfi-14.lo
> libguile_2.0_la-srfi-60.lo libguile_2.0_la-stackchk.lo
> libguile_2.0_la-stacks.lo libguile_2.0_la-stime.lo
> libguile_2.0_la-strings.lo libguile_2.0_la-strorder.lo
> libguile_2.0_la-strports.lo libguile_2.0_la-struct.lo
> libguile_2.0_la-symbols.lo libguile_2.0_la-threads.lo
> libguile_2.0_la-throw.lo libguile_2.0_la-trees.lo
> libguile_2.0_la-uniform.lo libguile_2.0_la-values.lo
> libguile_2.0_la-variable.lo libguile_2.0_la-vectors.lo
> libguile_2.0_la-version.lo libguile_2.0_la-vm.lo
> libguile_2.0_la-vports.lo libguile_2.0_la-weaks.lo dynl.lo posix.lo
> net_db.lo socket.lo regex-posix.lo ../lib/libgnu.la -L/opt/local/lib
> -lgmp -R/opt/local/lib -lltdl -lm
> libtool: link: gcc -dynamiclib  -o .libs/libguile-2.0.22.dylib
> .libs/libguile_2.0_la-alist.o .libs/libguile_2.0_la-arbiters.o
> .libs/libguile_2.0_la-array-handle.o .libs/libguile_2.0_la-array-map.o
> .libs/libguile_2.0_la-arrays.o .libs/libguile_2.0_la-async.o
> .libs/libguile_2.0_la-backtrace.o .libs/libguile_2.0_la-boolean.o
> .libs/libguile_2.0_la-bitvectors.o .libs/libguile_2.0_la-bytevectors.o
> .libs/libguile_2.0_la-chars.o .libs/libguile_2.0_la-control.o
> .libs/libguile_2.0_la-continuations.o .libs/libguile_2.0_la-debug.o
> .libs/libguile_2.0_la-deprecated.o .libs/libguile_2.0_la-deprecation.o
> .libs/libguile_2.0_la-dynwind.o .libs/libguile_2.0_la-eq.o
> .libs/libguile_2.0_la-error.o .libs/libguile_2.0_la-eval.o
> .libs/libguile_2.0_la-evalext.o .libs/libguile_2.0_la-expand.o
> .libs/libguile_2.0_la-extensions.o .libs/libguile_2.0_la-feature.o
> .libs/libguile_2.0_la-filesys.o .libs/libguile_2.0_la-finalizers.o
> .libs/libguile_2.0_la-fluids.o .libs/libguile_2.0_la-foreign.o
> .libs/libguile_2.0_la-fports.o .libs/libguile_2.0_la-frames.o
> .libs/libguile_2.0_la-gc-malloc.o .libs/libguile_2.0_la-gc.o
> .libs/libguile_2.0_la-gdbint.o .libs/libguile_2.0_la-gettext.o
> .libs/libguile_2.0_la-generalized-arrays.o
> .libs/libguile_2.0_la-generalized-vectors.o
> .libs/libguile_2.0_la-goops.o .libs/libguile_2.0_la-gsubr.o
> .libs/libguile_2.0_la-guardians.o .libs/libguile_2.0_la-hash.o
> .libs/libguile_2.0_la-hashtab.o .libs/libguile_2.0_la-hooks.o
> .libs/libguile_2.0_la-i18n.o .libs/libguile_2.0_la-init.o
> .libs/libguile_2.0_la-inline.o .libs/libguile_2.0_la-instructions.o
> .libs/libguile_2.0_la-ioext.o .libs/libguile_2.0_la-keywords.o
> .libs/libguile_2.0_la-list.o .libs/libguile_2.0_la-load.o
> .libs/libguile_2.0_la-macros.o .libs/libguile_2.0_la-mallocs.o
> .libs/libguile_2.0_la-memoize.o .libs/libguile_2.0_la-modules.o
> .libs/libguile_2.0_la-null-threads.o .libs/libguile_2.0_la-numbers.o
> .libs/libguile_2.0_la-objcodes.o .libs/libguile_2.0_la-objprop.o
> .libs/libguile_2.0_la-options.o .libs/libguile_2.0_la-pairs.o
> .libs/libguile_2.0_la-poll.o .libs/libguile_2.0_la-ports.o
> .libs/libguile_2.0_la-print.o .libs/libguile_2.0_la-procprop.o
> .libs/libguile_2.0_la-procs.o .libs/libguile_2.0_la-programs.o
> .libs/libguile_2.0_la-promises.o .libs/libguile_2.0_la-r6rs-ports.o
> .libs/libguile_2.0_la-random.o .libs/libguile_2.0_la-rdelim.o
> .libs/libguile_2.0_la-read.o .libs/libguile_2.0_la-root.o
> .libs/libguile_2.0_la-rw.o .libs/libguile_2.0_la-scmsigs.o
> .libs/libguile_2.0_la-script.o .libs/libguile_2.0_la-simpos.o
> .libs/libguile_2.0_la-smob.o .libs/libguile_2.0_la-sort.o
> .libs/libguile_2.0_la-srcprop.o .libs/libguile_2.0_la-srfi-1.o
> .libs/libguile_2.0_la-srfi-4.o .libs/libguile_2.0_la-srfi-13.o
> .libs/libguile_2.0_la-srfi-14.o .libs/libguile_2.0_la-srfi-60.o
> .libs/libguile_2.0_la-stackchk.o .libs/libguile_2.0_la-stacks.o
> .libs/libguile_2.0_la-stime.o .libs/libguile_2.0_la-strings.o
> .libs/libguile_2.0_la-strorder.o .libs/libguile_2.0_la-strports.o
> .libs/libguile_2.0_la-struct.o .libs/libguile_2.0_la-symbols.o
> .libs/libguile_2.0_la-threads.o .libs/libguile_2.0_la-throw.o
> .libs/libguile_2.0_la-trees.o .libs/libguile_2.0_la-uniform.o
> .libs/libguile_2.0_la-values.o .libs/libguile_2.0_la-variable.o
> .libs/libguile_2.0_la-vectors.o .libs/libguile_2.0_la-version.o
> .libs/libguile_2.0_la-vm.o .libs/libguile_2.0_la-vports.o
> .libs/libguile_2.0_la-weaks.o .libs/dynl.o .libs/posix.o
> .libs/net_db.o .libs/socket.o .libs/regex-posix.o
> -Wl,-force_load,../lib/.libs/libgnu.a  -L/opt/local/lib
> /opt/local/lib/libgc.dylib -lpthread /opt/local/lib/libffi.dylib
> /opt/local/lib/libunistring.dylib /opt/local/lib/libiconv.dylib
> /opt/local/lib/libgmp.dylib /opt/local/lib/libltdl.dylib -lm  -O2
> -install_name  /usr/local/lib/libguile-2.0.22.dylib
> -compatibility_version 27 -current_version 27.0 -Wl,-single_module
> Undefined symbols for architecture x86_64:
>   "_iconv", referenced from:
>       _rpl_iconv in libgnu.a(iconv.o)
>      (maybe you meant: _mem_iconveh, _iconveh_close , _rpl_iconv_open
> , _mem_cd_iconveh , _str_iconveh , _rpl_iconv , _iconveh_open ,
> _rpl_iconv_close , _str_cd_iconveh )
>   "_iconv_close", referenced from:
>       _rpl_iconv_close in libgnu.a(iconv_close.o)
>      (maybe you meant: _rpl_iconv_close)
>   "_iconv_open", referenced from:
>       _rpl_iconv_open in libgnu.a(iconv_open.o)
>      (maybe you meant: _rpl_iconv_open)
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> make[3]: *** [libguile-2.0.la] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Compilation exited abnormally with code 2 at Tue Apr 10 07:46:28
>
> And here's my idea of proof that I have the necessary files:
>
> port contents libiconv | egrep '^ ' | xargs ls -ld
> -rwxr-xr-x  1 root  admin    29380 Sep 26  2011 /opt/local/bin/iconv
> -rw-r--r--  1 root  admin     9343 Sep 26  2011 /opt/local/include/iconv.h
> -rw-r--r--  1 root  admin     1585 Sep 26  2011 /opt/local/include/libcharset.h
> -rw-r--r--  1 root  admin     1395 Sep 26  2011
> /opt/local/include/localcharset.h
> -rw-r--r--  1 root  admin     9056 Sep 26  2011
> /opt/local/lib/libcharset.1.dylib
> -rw-r--r--  1 root  admin     3672 Sep 26  2011 /opt/local/lib/libcharset.a
> lrwxr-xr-x  1 root  admin       18 Sep 26  2011
> /opt/local/lib/libcharset.dylib -> libcharset.1.dylib
> -rw-r--r--  1 root  admin      926 Sep 26  2011 /opt/local/lib/libcharset.la
> -rw-r--r--  1 root  admin  1072264 Sep 26  2011 /opt/local/lib/libiconv.2.dylib
> -rw-r--r--  1 root  admin  1098856 Sep 26  2011 /opt/local/lib/libiconv.a
> lrwxr-xr-x  1 root  admin       16 Sep 26  2011
> /opt/local/lib/libiconv.dylib -> libiconv.2.dylib
> -rw-r--r--  1 root  admin      914 Sep 26  2011 /opt/local/lib/libiconv.la
> -rw-r--r--  1 root  admin     6486 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv.1.html
> -rw-r--r--  1 root  admin     6383 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv.3.html
> -rw-r--r--  1 root  admin     2102 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_close.3.html
> -rw-r--r--  1 root  admin     8509 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_open.3.html
> -rw-r--r--  1 root  admin     4294 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_open_into.3.html
> -rw-r--r--  1 root  admin     6810 Sep 26  2011
> /opt/local/share/doc/libiconv/iconvctl.3.html
> -r--r--r--  1 root  admin     1581 Sep 26  2011
> /opt/local/share/man/man1/iconv.1.gz
> -r--r--r--  1 root  admin     1549 Sep 26  2011
> /opt/local/share/man/man3/iconv.3.gz
> -r--r--r--  1 root  admin      665 Sep 26  2011
> /opt/local/share/man/man3/iconv_close.3.gz
> -r--r--r--  1 root  admin     2212 Sep 26  2011
> /opt/local/share/man/man3/iconv_open.3.gz
> -r--r--r--  1 root  admin      956 Sep 26  2011
> /opt/local/share/man/man3/iconv_open_into.3.gz
> -r--r--r--  1 root  admin     1105 Sep 26  2011
> /opt/local/share/man/man3/iconvctl.3.gz

Sorry, we’re not seeing this on our builder at
<http://hydra.nixos.org/jobset/gnu/guile-2-0>, which runs
MacOS X 10.2.0.

What OS version do you use?

I must admit I’m pretty clueless.  :-/

Thanks,
Ludo’.