gmp-5.0.5 compile problem on Solaris 8 Sparc

Dennis Clarke dclarke at blastwave.org
Sun Jul 1 13:56:24 CEST 2012


Let me clarify here. Really the software compiles fine but the tests fail at some point thus : 

                            
# uname -a 
SunOS mimas 5.8 Generic_127721-03 sun4u sparc SUNW,UltraAX-i2

# psrinfo -pv 
The UltraSPARC-IIe physical processor has 1 virtual processor (0)

# which gcc 
/opt/bw/bin/gcc

# gcc --version 
gcc (Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# head config.log 
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU MP configure 5.0.5, which was
generated by GNU Autoconf 2.65.  Invocation command line was

  $ ./configure ABI=32 --build=sparc-sun-solaris2.8 --host=sparc-sun-solaris2.8
 --prefix=/opt/bw --libdir=/opt/bw/lib/sparcv8 --enable-cxx

## --------- ##
## Platform. ##
# 
# echo $CFLAGS 

# echo $CXXFLAGS 

# 
# env | grep LD 
LD=/usr/ccs/bin/ld
LD_LIBRARY_PATH=/opt/bw/lib/sparcv8
LD_OPTIONS=-R/opt/bw/lib/$ISALIST:/opt/bw/lib/sparcv8 -L/opt/bw/lib/$ISALIST:/opt/bw/lib/sparcv8
LD_RUN_PATH=/opt/bw/lib/$ISALIST:/opt/bw/lib/sparcv8
# 
# pwd 
/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8
# 



configure looks good and the compile goes fine.

Testing fails however : 

# env | sort 
AS=/usr/ccs/bin/as
CC=/opt/bw/bin/gcc
COLUMNS=80
CONFIG_SHELL=/bin/bash
CXX=/opt/bw/bin/g++
EDITOR=/usr/xpg4/bin/vi
HOME=/export/home/dclarke
HOSTNAME=mimas
HOSTTYPE=sparc
HZ=100
LANG=C
LC_ALL=C
LC_COLLATE=C
LC_CTYPE=C
LC_MESSAGES=C
LC_MONETARY=C
LC_NUMERIC=C
LC_TIME=C
LD=/usr/ccs/bin/ld
LD_LIBRARY_PATH=/opt/bw/lib/sparcv8
LD_OPTIONS=-R/opt/bw/lib/$ISALIST:/opt/bw/lib/sparcv8 -L/opt/bw/lib/$ISALIST:/op
t/bw/lib/sparcv8
LD_RUN_PATH=/opt/bw/lib/$ISALIST:/opt/bw/lib/sparcv8
LINES=24
LOGNAME=root
MACHTYPE=sparc-sun-solaris
MAIL=/var/mail/dclarke
OSTYPE=solaris
PAGER=/usr/xpg4/bin/more
PATH=/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/bw/bin:/sbin:/bin:/usr/sbin:/opt/s
chily/bin
PERL=/opt/bw/bin/perl
SHELL=/bin/ksh
SRC=/shared/gar/src
TERM=vt100
TZ=GMT0
VISUAL=/usr/xpg4/bin/vi
# 
# 
# which gcc
/opt/bw/bin/gcc
# gcc --version 
gcc (Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# 
# ptime gmake check 
gmake  check-recursive
gmake[1]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8'
Making check in tests
gmake[2]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
'
Making check in .
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
'
gmake  libtests.la t-bswap t-constants t-count_zeros t-gmpmax t-hightomask t-mod
linv t-popc t-parity t-sub
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
'
gmake[4]: `libtests.la' is up to date.
gmake[4]: `t-bswap' is up to date.
gmake[4]: `t-constants' is up to date.
gmake[4]: `t-count_zeros' is up to date.
gmake[4]: `t-gmpmax' is up to date.
gmake[4]: `t-hightomask' is up to date.
gmake[4]: `t-modlinv' is up to date.
gmake[4]: `t-popc' is up to date.
gmake[4]: `t-parity' is up to date.
gmake[4]: `t-sub' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests'

gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
'
PASS: t-bswap
PASS: t-constants
PASS: t-count_zeros
PASS: t-gmpmax
PASS: t-hightomask
PASS: t-modlinv
PASS: t-popc
PASS: t-parity
PASS: t-sub
==================
All 9 tests passed
==================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests'

gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests'

Making check in devel
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/devel'
gmake[3]: Nothing to be done for `check'.
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
devel'
Making check in mpn
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpn'
gmake  t-asmtype t-aors_1 t-divrem_1 t-mod_1 t-fat t-get_d t-instrument t-iord_u
 t-mp_bases t-perfsqr t-scan logic t-toom22 t-toom32 t-toom33 t-toom42 t-toom43 
t-toom44 t-toom52 t-toom53 t-toom62 t-toom63 t-toom6h t-toom8h t-mul t-mullo t-m
ulmod_bnm1 t-sqrmod_bnm1 t-hgcd t-matrix22 t-invert t-div t-bdiv
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpn'
gmake[4]: `t-asmtype' is up to date.
gmake[4]: `t-aors_1' is up to date.
gmake[4]: `t-divrem_1' is up to date.
gmake[4]: `t-mod_1' is up to date.
gmake[4]: `t-fat' is up to date.
gmake[4]: `t-get_d' is up to date.
gmake[4]: `t-instrument' is up to date.
gmake[4]: `t-iord_u' is up to date.
gmake[4]: `t-mp_bases' is up to date.
gmake[4]: `t-perfsqr' is up to date.
gmake[4]: `t-scan' is up to date.
gmake[4]: `logic' is up to date.
gmake[4]: `t-toom22' is up to date.
gmake[4]: `t-toom32' is up to date.
gmake[4]: `t-toom33' is up to date.
gmake[4]: `t-toom42' is up to date.
gmake[4]: `t-toom43' is up to date.
gmake[4]: `t-toom44' is up to date.
gmake[4]: `t-toom52' is up to date.
gmake[4]: `t-toom53' is up to date.
gmake[4]: `t-toom62' is up to date.
gmake[4]: `t-toom63' is up to date.
gmake[4]: `t-toom6h' is up to date.
gmake[4]: `t-toom8h' is up to date.
gmake[4]: `t-mul' is up to date.
gmake[4]: `t-mullo' is up to date.
gmake[4]: `t-mulmod_bnm1' is up to date.
gmake[4]: `t-sqrmod_bnm1' is up to date.
gmake[4]: `t-hgcd' is up to date.
gmake[4]: `t-matrix22' is up to date.
gmake[4]: `t-invert' is up to date.
gmake[4]: `t-div' is up to date.
gmake[4]: `t-bdiv' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpn'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpn'
PASS: t-asmtype
PASS: t-aors_1
PASS: t-divrem_1
PASS: t-mod_1
PASS: t-fat
PASS: t-get_d
PASS: t-instrument
PASS: t-iord_u
PASS: t-mp_bases
PASS: t-perfsqr
PASS: t-scan
PASS: logic
PASS: t-toom22
PASS: t-toom32
PASS: t-toom33
PASS: t-toom42
PASS: t-toom43
PASS: t-toom44
PASS: t-toom52
PASS: t-toom53
PASS: t-toom62
PASS: t-toom63
PASS: t-toom6h
PASS: t-toom8h
PASS: t-mul
PASS: t-mullo
PASS: t-mulmod_bnm1
PASS: t-sqrmod_bnm1
PASS: t-hgcd
PASS: t-matrix22
PASS: t-invert
PASS: t-div
PASS: t-bdiv
===================
All 33 tests passed
===================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpn'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpn'
Making check in mpz
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpz'
gmake  t-addsub t-cmp t-mul t-mul_i t-tdiv t-tdiv_ui t-fdiv t-fdiv_ui t-cdiv_ui 
t-gcd t-gcd_ui t-lcm t-invert dive dive_ui t-sqrtrem convert io t-inp_str logic 
bit t-powm t-powm_ui t-pow t-div_2exp reuse t-root t-perfsqr t-perfpow t-jac t-b
in t-get_d t-get_d_2exp t-get_si t-set_d t-set_si t-fac_ui t-fib_ui t-lucnum_ui 
t-scan t-fits t-divis t-divis_2exp t-cong t-cong_2exp t-sizeinbase t-set_str t-a
orsmul t-cmp_d t-cmp_si t-hamdist t-oddeven t-popcount t-set_f t-io_raw t-import
 t-export t-pprime_p t-nextprime
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpz'
gmake[4]: `t-addsub' is up to date.
gmake[4]: `t-cmp' is up to date.
gmake[4]: `t-mul' is up to date.
gmake[4]: `t-mul_i' is up to date.
gmake[4]: `t-tdiv' is up to date.
gmake[4]: `t-tdiv_ui' is up to date.
gmake[4]: `t-fdiv' is up to date.
gmake[4]: `t-fdiv_ui' is up to date.
gmake[4]: `t-cdiv_ui' is up to date.
gmake[4]: `t-gcd' is up to date.
gmake[4]: `t-gcd_ui' is up to date.
gmake[4]: `t-lcm' is up to date.
gmake[4]: `t-invert' is up to date.
gmake[4]: `dive' is up to date.
gmake[4]: `dive_ui' is up to date.
gmake[4]: `t-sqrtrem' is up to date.
gmake[4]: `convert' is up to date.
gmake[4]: `io' is up to date.
gmake[4]: `t-inp_str' is up to date.
gmake[4]: `logic' is up to date.
gmake[4]: `bit' is up to date.
gmake[4]: `t-powm' is up to date.
gmake[4]: `t-powm_ui' is up to date.
gmake[4]: `t-pow' is up to date.
gmake[4]: `t-div_2exp' is up to date.
gmake[4]: `reuse' is up to date.
gmake[4]: `t-root' is up to date.
gmake[4]: `t-perfsqr' is up to date.
gmake[4]: `t-perfpow' is up to date.
gmake[4]: `t-jac' is up to date.
gmake[4]: `t-bin' is up to date.
gmake[4]: `t-get_d' is up to date.
gmake[4]: `t-get_d_2exp' is up to date.
gmake[4]: `t-get_si' is up to date.
gmake[4]: `t-set_d' is up to date.
gmake[4]: `t-set_si' is up to date.
gmake[4]: `t-fac_ui' is up to date.
gmake[4]: `t-fib_ui' is up to date.
gmake[4]: `t-lucnum_ui' is up to date.
gmake[4]: `t-scan' is up to date.
gmake[4]: `t-fits' is up to date.
gmake[4]: `t-divis' is up to date.
gmake[4]: `t-divis_2exp' is up to date.
gmake[4]: `t-cong' is up to date.
gmake[4]: `t-cong_2exp' is up to date.
gmake[4]: `t-sizeinbase' is up to date.
gmake[4]: `t-set_str' is up to date.
gmake[4]: `t-aorsmul' is up to date.
gmake[4]: `t-cmp_d' is up to date.
gmake[4]: `t-cmp_si' is up to date.
gmake[4]: `t-hamdist' is up to date.
gmake[4]: `t-oddeven' is up to date.
gmake[4]: `t-popcount' is up to date.
gmake[4]: `t-set_f' is up to date.
gmake[4]: `t-io_raw' is up to date.
gmake[4]: `t-import' is up to date.
gmake[4]: `t-export' is up to date.
gmake[4]: `t-pprime_p' is up to date.
gmake[4]: `t-nextprime' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpz'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpz'
PASS: t-addsub
PASS: t-cmp
PASS: t-mul
PASS: t-mul_i
PASS: t-tdiv
PASS: t-tdiv_ui
PASS: t-fdiv
PASS: t-fdiv_ui
PASS: t-cdiv_ui
PASS: t-gcd
PASS: t-gcd_ui
PASS: t-lcm
PASS: t-invert
PASS: dive
PASS: dive_ui
PASS: t-sqrtrem
PASS: convert
PASS: io
PASS: t-inp_str
PASS: logic
PASS: bit
PASS: t-powm
PASS: t-powm_ui
PASS: t-pow
PASS: t-div_2exp
PASS: reuse
PASS: t-root
PASS: t-perfsqr
PASS: t-perfpow
PASS: t-jac
PASS: t-bin
PASS: t-get_d
PASS: t-get_d_2exp
PASS: t-get_si
PASS: t-set_d
PASS: t-set_si
PASS: t-fac_ui
PASS: t-fib_ui
PASS: t-lucnum_ui
PASS: t-scan
PASS: t-fits
PASS: t-divis
PASS: t-divis_2exp
PASS: t-cong
PASS: t-cong_2exp
PASS: t-sizeinbase
PASS: t-set_str
PASS: t-aorsmul
PASS: t-cmp_d
PASS: t-cmp_si
PASS: t-hamdist
PASS: t-oddeven
PASS: t-popcount
PASS: t-set_f
PASS: t-io_raw
PASS: t-import
PASS: t-export
PASS: t-pprime_p
PASS: t-nextprime
===================
All 59 tests passed
===================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpz'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpz'
Making check in mpq
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpq'
gmake  t-aors t-cmp t-cmp_ui t-cmp_si t-equal t-get_d t-get_str t-inp_str t-md_2
exp t-set_f t-set_str
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpq'
gmake[4]: `t-aors' is up to date.
gmake[4]: `t-cmp' is up to date.
gmake[4]: `t-cmp_ui' is up to date.
gmake[4]: `t-cmp_si' is up to date.
gmake[4]: `t-equal' is up to date.
gmake[4]: `t-get_d' is up to date.
gmake[4]: `t-get_str' is up to date.
gmake[4]: `t-inp_str' is up to date.
gmake[4]: `t-md_2exp' is up to date.
gmake[4]: `t-set_f' is up to date.
gmake[4]: `t-set_str' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpq'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpq'
PASS: t-aors
PASS: t-cmp
PASS: t-cmp_ui
PASS: t-cmp_si
PASS: t-equal
PASS: t-get_d
PASS: t-get_str
PASS: t-inp_str
PASS: t-md_2exp
PASS: t-set_f
PASS: t-set_str
===================
All 11 tests passed
===================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpq'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpq'
Making check in mpf
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpf'
gmake  t-add t-sub t-conv t-sqrt t-sqrt_ui t-muldiv t-dm2exp reuse t-cmp_d t-cmp
_si t-div t-fits t-get_d t-get_d_2exp t-get_si t-get_ui t-gsprec t-inp_str t-int
_p t-mul_ui t-set t-set_q t-set_si t-set_ui t-trunc t-ui_div t-eq
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpf'
gmake[4]: `t-add' is up to date.
gmake[4]: `t-sub' is up to date.
gmake[4]: `t-conv' is up to date.
gmake[4]: `t-sqrt' is up to date.
gmake[4]: `t-sqrt_ui' is up to date.
gmake[4]: `t-muldiv' is up to date.
gmake[4]: `t-dm2exp' is up to date.
gmake[4]: `reuse' is up to date.
gmake[4]: `t-cmp_d' is up to date.
gmake[4]: `t-cmp_si' is up to date.
gmake[4]: `t-div' is up to date.
gmake[4]: `t-fits' is up to date.
gmake[4]: `t-get_d' is up to date.
gmake[4]: `t-get_d_2exp' is up to date.
gmake[4]: `t-get_si' is up to date.
gmake[4]: `t-get_ui' is up to date.
gmake[4]: `t-gsprec' is up to date.
gmake[4]: `t-inp_str' is up to date.
gmake[4]: `t-int_p' is up to date.
gmake[4]: `t-mul_ui' is up to date.
gmake[4]: `t-set' is up to date.
gmake[4]: `t-set_q' is up to date.
gmake[4]: `t-set_si' is up to date.
gmake[4]: `t-set_ui' is up to date.
gmake[4]: `t-trunc' is up to date.
gmake[4]: `t-ui_div' is up to date.
gmake[4]: `t-eq' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpf'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/mpf'
PASS: t-add
PASS: t-sub
PASS: t-conv
PASS: t-sqrt
PASS: t-sqrt_ui
PASS: t-muldiv
PASS: t-dm2exp
PASS: reuse
PASS: t-cmp_d
PASS: t-cmp_si
PASS: t-div
PASS: t-fits
PASS: t-get_d
PASS: t-get_d_2exp
PASS: t-get_si
PASS: t-get_ui
PASS: t-gsprec
PASS: t-inp_str
PASS: t-int_p
PASS: t-mul_ui
PASS: t-set
PASS: t-set_q
PASS: t-set_si
PASS: t-set_ui
PASS: t-trunc
PASS: t-ui_div
PASS: t-eq
===================
All 27 tests passed
===================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpf'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
mpf'
Making check in rand
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/rand'
gmake  t-iset t-lc2exp t-mt t-rand t-urbui t-urmui t-urndmm
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/rand'
gmake[4]: `t-iset' is up to date.
gmake[4]: `t-lc2exp' is up to date.
gmake[4]: `t-mt' is up to date.
gmake[4]: `t-rand' is up to date.
gmake[4]: `t-urbui' is up to date.
gmake[4]: `t-urmui' is up to date.
gmake[4]: `t-urndmm' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
rand'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/rand'
PASS: t-iset
PASS: t-lc2exp
PASS: t-mt
PASS: t-rand
PASS: t-urbui
PASS: t-urmui
PASS: t-urndmm
==================
All 7 tests passed
==================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
rand'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
rand'
Making check in misc
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/misc'
gmake  t-printf t-scanf t-locale
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/misc'
gmake[4]: `t-printf' is up to date.
gmake[4]: `t-scanf' is up to date.
gmake[4]: `t-locale' is up to date.
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
misc'
gmake  check-TESTS
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/misc'
PASS: t-printf
PASS: t-scanf
PASS: t-locale
==================
All 3 tests passed
==================
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
misc'
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
misc'
Making check in cxx
gmake[3]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/cxx'
gmake  t-assign t-binary t-cast t-constr t-headers t-istream t-locale t-misc t-o
ps t-ostream t-prec t-rand t-ternary t-unary
gmake[4]: Entering directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests
/cxx'
/bin/bash ../../libtool --tag=CXX   --mode=link /opt/bw/bin/g++  -m32 -O2 -pedan
tic -mcpu=v7   -o t-assign t-assign.o -L../../.libs ../../tests/libtests.la ../.
./libgmpxx.la ../../libgmp.la 
libtool: link: /opt/bw/bin/g++ -m32 -O2 -pedantic -mcpu=v7 -o .libs/t-assign t-a
ssign.o  -L../../.libs ../../tests/.libs/libtests.a ../../.libs/libgmpxx.so /opt
/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/.libs/libgmp.so /opt/bw/lib/sparcv8/lib
stdc++.so -lm ../../.libs/libgmp.so -Wl,-R -Wl,/opt/bw/lib/sparcv8
ld: warning: file ../../.libs/libgmp.so: linked to /opt/bw/src/GCC/essentials/gm
p-5.0.5-sparcv8/.libs/libgmp.so: attempted multiple inclusion of file
ld: warning: file /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../li
bstdc++.so: linked to /opt/bw/lib/sparcv8/libstdc++.so: attempted multiple inclu
sion of file
Undefined                       first referenced
 symbol                             in file
__sync_fetch_and_add_4              t-assign.o
ld: fatal: Symbol referencing errors. No output written to .libs/t-assign
collect2: ld returned 1 exit status
gmake[4]: *** [t-assign] Error 1
gmake[4]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
cxx'
gmake[3]: *** [check-am] Error 2
gmake[3]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests/
cxx'
gmake[2]: *** [check-recursive] Error 1
gmake[2]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8/tests'

gmake[1]: *** [check-recursive] Error 1
gmake[1]: Leaving directory `/opt/bw/src/GCC/essentials/gmp-5.0.5-sparcv8'
gmake: *** [check] Error 2

real    56:53.863
user        0.086
sys         0.043
# 
# 

If I cd into the tests dir and have a go at this manually : 

# cd tests
# ls .libs/libtests.a
.libs/libtests.a
# ls ../.libs/libgmpxx.so
../.libs/libgmpxx.so
# ls ../.libs/libgmp.so
../.libs/libgmp.so
# 
# ls ../.libs
assert.o           libgmp.so.10.0.5   mp_get_fns.o       randmt.o
compat.o           libgmpxx.a         mp_minv_tab.o      randmts.o
dummy.o            libgmpxx.la        mp_set_fns.o       randmui.o
errno.o            libgmpxx.lai       nextprime.o        rands.o
extract-dbl.o      libgmpxx.so        rand.o             randsd.o
invalid.o          libgmpxx.so.4      randbui.o          randsdui.o
libgmp.a           libgmpxx.so.4.2.5  randclr.o          tal-reent.o
libgmp.la          memory.o           randdef.o          version.o
libgmp.lai         mp_bpl.o           randiset.o
libgmp.so          mp_clz_tab.o       randlc2s.o
libgmp.so.10       mp_dv_tab.o        randlc2x.o


So those look to be in the right place. 

However : 

# /opt/bw/bin/g++ -m32 -O2 -pedantic -mcpu=v7 -v \
> -L../.libs .libs/libtests.a ../.libs/libgmpxx.so \
> ../.libs/libgmp.so /opt/bw/lib/sparcv8/libstdc++.so -lm \
> -Wl,-R -Wl,/opt/bw/lib/sparcv8 -o .libs/t-assign 
Using built-in specs.
COLLECT_GCC=/opt/bw/bin/g++
COLLECT_LTO_WRAPPER=/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/lto-wrapper
Target: sparc-sun-solaris2.8
Configured with: ../../../../gcc/4.6.3/configure --host=sparc-sun-solaris2.8 --build=sparc-sun-solaris2.8 --with-as=/usr/ccs/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-multilib --enable-nls --enable-threads=posix --prefix=/opt/bw --enable-shared --libdir=/opt/bw/lib/sparcv8 --with-gmp-include=/opt/bw/include --with-gmp-lib=/opt/bw/lib/sparcv8 --with-mpfr-include=/opt/bw/include --with-mpfr-lib=/opt/bw/lib/sparcv8 --with-mpc-include=/opt/bw/include --with-mpc-lib=/opt/bw/lib/sparcv8 --libexecdir=/opt/bw/lib --with-gxx-include-dir=/opt/bw/include --with-local-prefix=/opt/bw/include --with-pkgversion='Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012' --with-bugurl=http://www.blastwave.org/support --enable-languages=c,c++,objc,fortran,ada --enable-bootstrap
Thread model: posix
gcc version 4.6.3 (Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012) 
COMPILER_PATH=/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/gcc/sparc-sun-solaris2.8/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/:/usr/ccs/bin/
LIBRARY_PATH=/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/:/usr/ccs/lib/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-m32' '-O2' '-pedantic' '-mcpu=v7' '-v' '-L../.libs' '-o' '.libs/t-assign' '-shared-libgcc'
 /opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o .libs/t-assign /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crt1.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crti.o /usr/ccs/lib/values-Xa.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtbegin.o -L../.libs -L/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3 -L/usr/ccs/lib -L/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../.. .libs/libtests.a ../.libs/libgmpxx.so ../.libs/libgmp.so /opt/bw/lib/sparcv8/libstdc++.so -R /opt/bw/lib/sparcv8 -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lc /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtend.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.302
ld: warning: file /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../libstdc++.so: linked to /opt/bw/lib/sparcv8/libstdc++.so: attempted multiple inclusion of file
Undefined                       first referenced
 symbol                             in file
main                                /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crt1.o
__sync_fetch_and_add_4              ../.libs/libgmpxx.so
ld: fatal: Symbol referencing errors. No output written to .libs/t-assign
collect2: ld returned 1 exit status


Somewhat annoying given that the g++ compiler normally works fine. 

Also the  libstdc++.so symlink is where it should be : 

# ls -l /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../libstdc++.so
lrwxrwxrwx   1 root     other         19 Mar  4 02:24 /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../libstdc++.so -> libstdc++.so.6.0.16

# ls -l /opt/bw/lib/sparcv8/libstdc++.so 
lrwxrwxrwx   1 root     other         19 Mar  4 02:24 /opt/bw/lib/sparcv8/libstdc++.so -> libstdc++.so.6.0.16

# ls -l /opt/bw/lib/sparcv8/libstdc++.so.6.0.16
-rwxr-xr-x   1 root     other    5884708 Mar  4 02:24 /opt/bw/lib/sparcv8/libstdc++.so.6.0.16


Correct name also : 

# elfdump -d /opt/bw/lib/sparcv8/libstdc++.so.6.0.16 | grep SONAME 
       [5]  SONAME           0x2b3cd           libstdc++.so.6


I can try to just not include the default libstdc++.so thus : 

# /opt/bw/bin/g++ -m32 -O2 -pedantic -mcpu=v7 -v \
> -L../.libs .libs/libtests.a ../.libs/libgmpxx.so \
> ../.libs/libgmp.so -L/opt/bw/lib/sparcv8 \
> -lm -Wl,-R -Wl,/opt/bw/lib/sparcv8 -o .libs/t-assign 
Using built-in specs.
COLLECT_GCC=/opt/bw/bin/g++
COLLECT_LTO_WRAPPER=/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/lto-wrapper
Target: sparc-sun-solaris2.8
Configured with: ../../../../gcc/4.6.3/configure --host=sparc-sun-solaris2.8 --build=sparc-sun-solaris2.8 --with-as=/usr/ccs/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-multilib --enable-nls --enable-threads=posix --prefix=/opt/bw --enable-shared --libdir=/opt/bw/lib/sparcv8 --with-gmp-include=/opt/bw/include --with-gmp-lib=/opt/bw/lib/sparcv8 --with-mpfr-include=/opt/bw/include --with-mpfr-lib=/opt/bw/lib/sparcv8 --with-mpc-include=/opt/bw/include --with-mpc-lib=/opt/bw/lib/sparcv8 --libexecdir=/opt/bw/lib --with-gxx-include-dir=/opt/bw/include --with-local-prefix=/opt/bw/include --with-pkgversion='Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012' --with-bugurl=http://www.blastwave.org/support --enable-languages=c,c++,objc,fortran,ada --enable-bootstrap
Thread model: posix
gcc version 4.6.3 (Blastwave.org Inc. Thu Mar  1 21:07:19 GMT 2012) 
COMPILER_PATH=/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/gcc/sparc-sun-solaris2.8/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/:/usr/ccs/bin/
LIBRARY_PATH=/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/:/usr/ccs/lib/:/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-m32' '-O2' '-pedantic' '-mcpu=v7' '-v' '-L../.libs' '-L/opt/bw/lib/sparcv8' '-o' '.libs/t-assign' '-shared-libgcc'
 /opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o .libs/t-assign /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crt1.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crti.o /usr/ccs/lib/values-Xa.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtbegin.o -L../.libs -L/opt/bw/lib/sparcv8 -L/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3 -L/usr/ccs/lib -L/opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/../../.. .libs/libtests.a ../.libs/libgmpxx.so ../.libs/libgmp.so -R /opt/bw/lib/sparcv8 -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lc /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtend.o /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.302
Undefined                       first referenced
 symbol                             in file
main                                /opt/bw/lib/sparcv8/gcc/sparc-sun-solaris2.8/4.6.3/crt1.o
__sync_fetch_and_add_4              ../.libs/libgmpxx.so
ld: fatal: Symbol referencing errors. No output written to .libs/t-assign
collect2: ld returned 1 exit status
# 




So .. something needs a tweak here me thinks. 

Dennis 
 






More information about the gmp-bugs mailing list