Hi Jeffrey, Jeffrey Walton <noloa...@gmail.com> writes:
> I'm working on Solaris 11.3 with the 2.2.4 tarball. I'm trying to > build and test Guile. > > Make is not completing the build step: > > solaris2:guile-2.2.4$ make V=1 > make all-recursive > make[1]: Entering directory '/export/home/build/guile-2.2.4' > Making all in lib > make[2]: Entering directory '/export/home/build/guile-2.2.4/lib' > make all-recursive > make[3]: Entering directory '/export/home/build/guile-2.2.4/lib' > make[4]: Entering directory '/export/home/build/guile-2.2.4/lib' > make[4]: Nothing to be done for 'all-am'. > make[4]: Leaving directory '/export/home/build/guile-2.2.4/lib' > make[3]: Leaving directory '/export/home/build/guile-2.2.4/lib' > make[2]: Leaving directory '/export/home/build/guile-2.2.4/lib' > Making all in meta > make[2]: Entering directory '/export/home/build/guile-2.2.4/meta' > make[2]: Nothing to be done for 'all'. > make[2]: Leaving directory '/export/home/build/guile-2.2.4/meta' > Making all in libguile > make[2]: Entering directory '/export/home/build/guile-2.2.4/libguile' > make all-am > make[3]: Entering directory '/export/home/build/guile-2.2.4/libguile' > /bin/sh ../libtool --tag=CC --mode=link gcc -std=gnu11 > -I/usr/local/include -D_REENTRANT -pthreads -Wall -Wmissing-prototypes > -Wdeclaration-after-statement -Wpointer-arith -Wswitch-enum > -fno-strict-aliasing -fwrapv -fvisibility=hidden -g2 -O2 -m64 > -march=native -fPIC -I/usr/local/include -D_REENTRANT -pthreads > -L/usr/local/lib/64 -m64 -Wl,-R,/usr/local/lib/64 -o guile > guile-guile.o libguile-2.2.la -lsocket -lnsl -ldl -lpthread -lm > libtool: link: gcc -std=gnu11 -I/usr/local/include -D_REENTRANT > -pthreads -Wall -Wmissing-prototypes -Wdeclaration-after-statement > -Wpointer-arith -Wswitch-enum -fno-strict-aliasing -fwrapv > -fvisibility=hidden -g2 -O2 -m64 -march=native -fPIC > -I/usr/local/include -D_REENTRANT -pthreads -m64 -Wl,-R > -Wl,/usr/local/lib/64 -o .libs/guile guile-guile.o > -L/usr/local/lib/64 ./.libs/libguile-2.2.so -lbgc > /usr/local/lib/64/libffi.so /usr/local/lib/64/libunistring.so > /usr/local/lib/64/libiconv.so /usr/local/lib/64/libgmp.so -lltdl > -lsocket -lnsl -ldl -lpthread -lm -pthreads -R/usr/local/lib/64 > Undefined first referenced > symbol in file > GC_get_heap_usage_safe ./.libs/libguile-2.2.so > ld: fatal: symbol referencing errors > collect2: error: ld returned 1 exit status What version of the Boehm-Demers-Weiser garbage collector (BDW-GC a.k.a. libgc) are you linking with here? GC_get_heap_usage_safe has been part of BDW-GC's public API since version 7.2, which is the minimum version supported by Guile 2.2, as noted in our README. Guile's configure script attempts to verify that you have BDW-GC 7.2 or newer with the following code in configure.ac: #-------------------------------------------------------------------- # # Boehm's GC library # #-------------------------------------------------------------------- AC_MSG_CHECKING(for which bdw-gc pkg-config file to use) AC_ARG_WITH(bdw_gc, [ --with-bdw-gc=PKG name of BDW-GC pkg-config file], [bdw_gc="$withval"], [bdw_gc=bdw-gc]) AC_MSG_RESULT($bdw_gc) PKG_CHECK_MODULES([BDW_GC], [$bdw_gc >= 7.2]) However, if you don't have 'pkg-config' installed on your system, I guess this check will be skipped. Regards, Mark