GMP 4.2.2 on Solaris10 - make checks fails

Ambarish Mitra ambarish_mitra at persistent.co.in
Fri Jul 25 08:51:34 CEST 2008


Hi all,

There is some progress on the following. I setup LD_LIBRARY_PATH to lookup
the proper libgcc_s.so.1 file.

I noticed that, if I run the ./configure *without* --enable-cxx, then the
following make check works perfectly without any error.


However, if we use the ./configure --enable-cxx option, then "make check"
fails:


...
Making check in cxx
make  t-assign t-binary  t-cast t-constr  t-headers t-istream  t-locale
t-misc  t-ops t-ostream  t-prec t-rand  t-ternary t-unary
/bin/bash ../../libtool --mode=link
  -O2 -m64 -mptr64 -mcpu=ultrasparc3    -o t-assign
 t-assign.o -L../../.libs  ../../tests/libtests.la  ../../libgmpxx.la
../../libgmp.la
g++ -O2 -m64 -mptr64 -mcpu=ultrasparc3 -o .libs/t-assign
-assign.o  -L/projects/installers/gnu/gmp-4.2.2/.libs
../../tests/.libs/libtests.a ../../.libs/libgmpxx.so
/projects/installers/gnu/gmp-4.2.2/.libs/libgmp.so
/usr/sfw/lib/sparcv9/libstdc++.so -L/usr/sfw/lib/sparcv9 -lgcc_s
../../.libs/libgmp.so  -Wl,-R -Wl,/projects/usr/local/lib -Wl,-R -Wl,/usr/sf
w/lib/sparcv9
ld: fatal: file /usr/sfw/lib/libgcc_s.so: wrong ELF class: ELFCLASS32
ld: warning: file ../../.libs/libgmp.so: linked to
/projects/installers/gnu/gmp-4.2.2/.libs/libgmp.so: attempted multiple
inclusion of file
ld: warning: file /usr/sfw/lib/sparcv9/libstdc++.so: attempted multiple
inclusion of file
ld: fatal: File processing errors. No output written to .libs/t-assign
collect2: ld returned 1 exit status
*** Error code 1
...
...


-bash-3.00$ ./config.guess
ultrasparc3-sun-solaris2.10


bash-3.00# uname -a
SunOS kenobi 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-280R


bash-3.00# gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with:
/sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix
=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as --with-ld=/usr/ccs/bin/
ld --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)


bash-3.00# /usr/ccs/bin/ld -V
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.489



Additionally, from the o/p above, we see that the ld is giving a lot of
multiple inclusion errors.

Any gentle nudge in the right direction would be great.

Thanks.


-----Original Message-----
From: Ambarish Mitra [mailto:ambarish_mitra at persistent.co.in]
Sent: Friday, July 25, 2008 11:08 AM
To: gmp-bugs at swox.com
Subject: GMP 4.2.2 on Solaris10 - make checks fails


Hi,

First, my environment:
======================

bash-3.00# uname -a
SunOS kenobi 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-280R


bash-3.00# gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with:
/sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix
=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as --with-ld=/usr/ccs/bin/
ld --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)


bash-3.00# /usr/ccs/bin/ld -V
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.489




Now, the error description:
============================

I am trying to install GMP 4.2.2. I did a configure, which worked without
errors. The configure executed was:

-bash-3.00$ ./configure --prefix=/projects/usr/local --enable-cxx

Then, I did a "make", which also worked fine. Then, I did a make check, and
it failed miserably.

-bash-3.00$ make check
make  check-recursive
Making check in tests
Making check in .
make  libtests.la t-bswap t-constants  t-count_zeros t-gmpmax t-hightomask
t-modlinv t-popc t-parity  t-sub
/bin/bash ../libtool --mode=compile
-DHAVE_CONFIG_H  -I. -I. -I.. -I..     -O2 -m64 -mptr64 -mcpu=ultrasparc3 -c
 -o memory.lo memory.c
mkdir .libs
....
....

make  check-TESTS
ld.so.1: t-bswap: fatal: /usr/sfw/lib/libgcc_s.so.1: wrong ELF class:
ELFCLASS32
bash: line 4:  2368 Killed                  ${dir}$tst
FAIL: t-bswap
ld.so.1: t-constants: fatal: /usr/sfw/lib/libgcc_s.so.1: wrong ELF class:
ELFCLASS32
bash: line 4:  2388 Killed                  ${dir}$tst
FAIL: t-constants
....
....

==================================
9 of 9 tests failed
Please report to gmp-bugs at swox.com
==================================
*** Error code 1
The following command caused the error:
failed=0; all=0; xfail=0; xpass=0; skip=0; \
srcdir=.; export srcdir; \
list='t-bswap t-constants  t-count_zeros t-gmpmax t-hightomask  t-modlinv
t-popc t-parity  t-sub'; \
if test -n "$list"; then \
  for tst in $list; do \
    if test -f ./$tst; then dir=./; \
    elif test -f $tst; then dir=; \
    else dir="./"; fi; \
    if  ${dir}$tst; then \
      all=`expr $all + 1`; \
      case "  " in \
      *" $tst "*) \
        xpass=`expr $xpass + 1`; \
        failed=`expr $failed + 1`; \
        echo "XPASS: $tst"; \
      ;; \
      *) \
        echo "PASS: $tst"; \
      ;; \
      esac; \
    elif test $? -ne 77; then \
      all=`expr $all + 1`; \
      case "  " in \
      *" $tst "*) \
        xfail=`expr $xfail + 1`; \
        echo "XFAIL: $tst"; \
      ;; \
      *) \
        failed=`expr $failed + 1`; \
        echo "FAIL: $tst"; \
      ;; \
      esac; \
    else \
      skip=`expr $skip + 1`; \
      echo "SKIP: $tst"; \
    fi; \
  done; \
  if test "$failed" -eq 0; then \
    if test "$xfail" -eq 0; then \
      banner="All $all tests passed"; \
    else \
      banner="All $all tests behaved as expected ($xfail expected
failures)"; \
    fi; \
  else \
    if test "$xpass" -eq 0; then \
      banner="$failed of $all tests failed"; \
    else \
      banner="$failed of $all tests did not behave as expected ($xpass
unexpected passes)"; \
    fi; \
  fi; \
  dashes="$banner"; \
  skipped=""; \
  if test "$skip" -ne 0; then \
    skipped="($skip tests were not run)"; \
    test `echo "$skipped" | wc -c` -gt `echo "$banner" | wc -c` && \
      dashes="$skipped"; \
  fi; \
  report=""; \
  if test "$failed" -ne 0 && test -n "gmp-bugs at swox.com"; then \
    report="Please report to gmp-bugs at swox.com"; \
    test `echo "$report" | wc -c` -gt `echo "$banner" | wc -c` && \
      dashes="$report"; \
  fi; \
  dashes=`echo "$dashes" | sed s/./=/g`; \
  echo "$dashes"; \
  echo "$banner"; \
  test -n "$skipped" && echo "$skipped"; \
  test -n "$report" && echo "$report"; \
  echo "$dashes"; \
  test "$failed" -eq 0; \


DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.


More information about the gmp-bugs mailing list