Build failure on OpenSolaris machine.

Nikos Mavrogiannopoulos nmav at gnutls.org
Mon Feb 21 09:19:44 CET 2011


It seems we'll have to add such an option as well. As a quick hack you
can use libgcrypt instead of nettle that doesn't depend on libgmp.

regards,
Nikos

On Sun, Feb 20, 2011 at 10:52 PM, Dr. David Kirkby
<david.kirkby at onetel.net> wrote:
> I've tried to build GnuTLS on a Sun Ultra 27 (Intel Xeon) running
> OpenSolaris 06/2009. I've built a lot of software on here without hassle,
> but the current version of GnuTLS will not build. (Version 2.2.1 builds OK,
> though I've not tried any other versions).
>
> The fact there are copies of the gmp library in both /usr/local/lib and
> /usr/local/gcc-4.5.0/lib seems to be causing the problem. But there seems no
> way to specify where the libraries should be found.
>
> If one builds gcc, there are options to specify where the gmp library is
> kept.
>
> My GCC is configured with this option.
>
> --with-gmp=/usr/local/gcc-4.5.0
>
> but there seems to be no similar option for GnuTLS.
>
> $configure
> <snip>
>
>
> checking whether byte ordering is bigendian... no
> checking for C/C++ restrict keyword... __restrict
> checking if gcc/ld supports -Wl,--output-def... no
> checking if LD -Wl,--version-script works... no
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating gnutls-extra.pc
> config.status: creating gl/Makefile
> config.status: creating includes/Makefile
> config.status: creating config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> configure: summary of build options:
>
>  version:          2.10.4 shared 42:13:16
>  Host type:        i386-pc-solaris2.11
>  Install prefix:   /usr/local
>  Compiler:         gcc -std=gnu99
>  Warning flags:    errors:  warnings:
>  Library types:    Shared=yes, Static=yes
>  Valgrind:         no
>  Guile wrappers:   yes
>  C++ library:      yes
>  OpenSSL library:  yes
>  /dev/crypto:      no
>
>
> $ make
>
> <snip>
>
> C -DPIC -o .libs/libguile_gnutls_v_1_la-core.o
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_v_1_la-errors.lo -MD -MP
> -MF .deps/libguile_gnutls_v_1_la-errors.Tpo -c errors.c  -fPIC -DPIC -o
> .libs/libguile_gnutls_v_1_la-errors.o
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_v_1_la-utils.lo -MD -MP
> -MF .deps/libguile_gnutls_v_1_la-utils.Tpo -c utils.c  -fPIC -DPIC -o
> .libs/libguile_gnutls_v_1_la-utils.o
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_extra_v_1_la-extra.lo -MD
> -MP -MF .deps/libguile_gnutls_extra_v_1_la-extra.Tpo -c extra.c  -fPIC -DPIC
> -o .libs/libguile_gnutls_extra_v_1_la-extra.o
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_v_1_la-errors.lo -MD -MP
> -MF .deps/libguile_gnutls_v_1_la-errors.Tpo -c errors.c -o
> libguile_gnutls_v_1_la-errors.o >/dev/null 2>&1
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_v_1_la-utils.lo -MD -MP
> -MF .deps/libguile_gnutls_v_1_la-utils.Tpo -c utils.c -o
> libguile_gnutls_v_1_la-utils.o >/dev/null 2>&1
> mv -f .deps/libguile_gnutls_v_1_la-errors.Tpo
> .deps/libguile_gnutls_v_1_la-errors.Plo
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_extra_v_1_la-extra.lo -MD
> -MP -MF .deps/libguile_gnutls_extra_v_1_la-extra.Tpo -c extra.c -o
> libguile_gnutls_extra_v_1_la-extra.o >/dev/null 2>&1
> mv -f .deps/libguile_gnutls_v_1_la-utils.Tpo
> .deps/libguile_gnutls_v_1_la-utils.Plo
> mv -f .deps/libguile_gnutls_extra_v_1_la-extra.Tpo
> .deps/libguile_gnutls_extra_v_1_la-extra.Plo
> libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..
> -I../../lib/includes -I../../lib/includes -I../../libextra/includes -I../..
> -I. -Wno-strict-prototypes -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2 -MT libguile_gnutls_v_1_la-core.lo -MD -MP -MF
> .deps/libguile_gnutls_v_1_la-core.Tpo -c core.c -o
> libguile_gnutls_v_1_la-core.o >/dev/null 2>&1
> mv -f .deps/libguile_gnutls_v_1_la-core.Tpo
> .deps/libguile_gnutls_v_1_la-core.Plo
> /bin/sh ../../libtool --tag=CC   --mode=link gcc -std=gnu99
> -Wno-strict-prototypes  -I../../lib/gl -I../../lib/gl -I/usr/include/gmp
> -D_REENTRANT -pthreads -g -O2   -o libguile-gnutls-v-1.la -rpath
> /usr/local/lib libguile_gnutls_v_1_la-core.lo
> libguile_gnutls_v_1_la-errors.lo libguile_gnutls_v_1_la-utils.lo
> ../../lib/libgnutls.la ../../lib/gl/liblgnu.la -I/usr/include/gmp
> -D_REENTRANT -pthreads -lguile -lltdl  -lgmp -lsocket -lnsl -lm -lltdl
> libtool: link: gcc -std=gnu99 -shared -Wl,-z -Wl,text -Wl,-h
> -Wl,libguile-gnutls-v-1.so.0 -o .libs/libguile-gnutls-v-1.so.0.0.0
> .libs/libguile_gnutls_v_1_la-core.o .libs/libguile_gnutls_v_1_la-errors.o
> .libs/libguile_gnutls_v_1_la-utils.o  -Wl,-z -Wl,allextract
> ../../lib/gl/.libs/liblgnu.a -Wl,-z -Wl,defaultextract
> -R/export/home/drkirkby/gnutls-2.10.4/lib/.libs -R/usr/local/gcc-4.5.0/lib
> -R/usr/local/lib -R/usr/local/gcc-4.5.0/lib ../../lib/.libs/libgnutls.so
> -ltasn1 -lz -lgcrypt -lgpg-error /usr/lib/libguile.so -lgmp
> /usr/local/gcc-4.5.0/lib/libgmp.so -lsocket -lnsl -lm -lltdl -lc  -pthreads
> -pthreads   -pthreads
> ld: fatal: symbol `scm_cell' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-errors.o type=FUNC);
> ld: fatal: symbol `scm_double_cell' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-errors.o type=FUNC);
> ld: fatal: symbol `scm_array_handle_ref' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-errors.o type=FUNC);
> ld: fatal: symbol `scm_array_handle_set' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-errors.o type=FUNC);
> ld: fatal: symbol `scm_is_pair' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-errors.o type=FUNC);
> ld: fatal: symbol `scm_cell' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-utils.o type=FUNC);
> ld: fatal: symbol `scm_double_cell' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-utils.o type=FUNC);
> ld: fatal: symbol `scm_array_handle_ref' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-utils.o type=FUNC);
> ld: fatal: symbol `scm_array_handle_set' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-utils.o type=FUNC);
> ld: fatal: symbol `scm_is_pair' is multiply-defined:
>        (file .libs/libguile_gnutls_v_1_la-core.o type=FUNC; file
> .libs/libguile_gnutls_v_1_la-utils.o type=FUNC);
> ld: warning: file /usr/local/gcc-4.5.0/lib/libgmp.so: linked to
> /usr/local/gcc-4.5.0/lib/gcc/i386-pc-solaris2.10/4.5.0/../../../libgmp.so:
> attempted multiple inclusion of file
> ld: fatal: file processing errors. No output written to
> .libs/libguile-gnutls-v-1.so.0.0.0
> collect2: ld returned 1 exit status
> make[4]: *** [libguile-gnutls-v-1.la] Error 1
> make[4]: Leaving directory `/export/home/drkirkby/gnutls-2.10.4/guile/src'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory `/export/home/drkirkby/gnutls-2.10.4/guile/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/export/home/drkirkby/gnutls-2.10.4/guile'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/export/home/drkirkby/gnutls-2.10.4'
> make: *** [all] Error 2
>
> --
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?
>
> Dave
>
>
> _______________________________________________
> Gnutls-devel mailing list
> Gnutls-devel at gnu.org
> http://lists.gnu.org/mailman/listinfo/gnutls-devel
>




More information about the Gnutls-devel mailing list