This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
GCC snapshot 2000-11-27 build fails on Solaris 8 SPARC
- To: gcc-help at gcc dot gnu dot org
- Subject: GCC snapshot 2000-11-27 build fails on Solaris 8 SPARC
- From: "Mark Bradley" <bradl001 at hotmail dot com>
- Date: Sun, 03 Dec 2000 06:53:35
Hello,
I'm trying to build GCC and libstdc++v3 (shared libs too) from the
2000-11-27 snapshot. This all stemmed from an error I got while compiling
another program. It said:
*** Warning: This library needs some functionality provided by -lgcc.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
That made little sense to a relative novice like myself so I assumed (insert
standard warning about making nearly baseless assumptions) that was I needed
was a shared version of libgcc.a. Is this even possible?
I thought i'd rebuild everything from scratch to see how the process worked.
http://gcc.gnu.org/install/build.html says I can have it automatically build
binutils if they have been individually linked or moved into the top level
GCC source tree before configuring. So I went ahead and got the 2000-12-01
snapshot.
Source code archives:
---------------------
ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/2000-11-27/gcc-20001127.tar.gz
ftp://sources.redhat.com/pub/binutils/snapshots/binutils-001201.tar.bz2
System info:
------------
Fully patched Solaris 8 on an Ultra 60
make 3.79.1
ld 2.10.1
ar 2.10.1
assembler 2.10.1
strip 2.10.1
nm 2.10.1
libtool 1.3.5
m4 1.4
Autoconf 2.13
GCC 2.95.2 (from sunfreeware)
perl v5.6.0 (does this matter???)
Some pertinent(??) environment settings:
----------------------------------------
PATH=/usr/local/util/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/etc:/usr/openwin/bin:/usr/ccs/bin/:.
SHELL=/usr/bin/csh
PWD=/d01/src/gcc-20001127/tgt
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib/mm-1.1.3:/usr/openwin/lib:/usr/local/lib/perl5
SSL_BASE=/usr/local/ssl
EAPI_MM=/usr/local/lib/mm-1.1.3
To setup my environment, I run:
-------------------------------
cd /tmp
bzip2 -d ./binutils-001201.tar.bz2
tar xf ./binutils-001201.tar
cd /d01/src
tar zxf /tmp/gcc-20001127.tar.gz
cd gcc-20001127
mv /tmp/binutils-001201 ./binutils
mkdir tgt
cd tgt
../configure --enable-shared
make bootstrap
It builds stage 1 and stage 2. However, when trying to build libstdc++, it
fails with the following:
/d01/src/gcc-20001127/tgt/gcc/xgcc -B/d01/src/gcc-20001127/tgt/gcc/
-B/usr/local/sparc-sun-solaris2.8/bin/
-B/usr/local/sparc-sun-solaris2.8/lib/ -isystem
/usr/local/sparc-sun-solaris2.8/include -shared .libs/limitsMEMBERS.o
.libs/cmath.o .libs/complex.o .libs/complexf.o .libs/complexl.o
.libs/complex_io.o .libs/stdexcept.o .libs/bitset.o .libs/c++io.o
.libs/ios.o .libs/stdstreams.o .libs/strstream.o .libs/locale.o
.libs/localename.o .libs/codecvt.o .libs/locale-inst.o .libs/stl-inst.o
.libs/misc-inst.o .libs/valarray-inst.o .libs/string-inst.o
-Wl,--whole-archive ../libmath/.libs/libmath.a
../libsupc++/.libs/libsupc++convenience.a -Wl,--no-whole-archive -lm
../libmath/.libs/libmath.a -lm ../libsupc++/.libs/libsupc++convenience.a -lm
-lm -lc -Wl,-O1 -Wl,-soname -Wl,libstdc++.so.3 -o
.libs/libstdc++.so.3.0.0
/usr/ccs/bin/ld: illegal option -- -
/usr/ccs/bin/ld: illegal option -- w
/usr/ccs/bin/ld: illegal option -- -
/usr/ccs/bin/ld: illegal option -- n
ld: warning: option -o appears more than once, first setting taken
/usr/ccs/bin/ld: illegal option -- O
/usr/ccs/bin/ld: illegal option -- 1
ld: warning: option -o appears more than once, first setting taken
.
.
<snipped all the possible options from ld>
.
.
collect2: ld returned 1 exit status
make[4]: *** [libstdc++.la] Error 1
make[4]: Leaving directory
`/d01/src/gcc-20001127/tgt/sparc-sun-solaris2.8/libstdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/d01/src/gcc-20001127/tgt/sparc-sun-solaris2.8/libstdc++-v3'
make[2]: *** [all-recursive-am] Error 2
make[2]: Leaving directory
`/d01/src/gcc-20001127/tgt/sparc-sun-solaris2.8/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/d01/src/gcc-20001127/tgt'
make: *** [bootstrap] Error 2
Why is it using /usr/ccs/bin/ld? I thought that since it's building
binutils, it would use ld from that code set. Appending --with-gnu-ld didn't
seem to help.
I've searched through mailing list archives and came up with the following
but it's over a year old...
http://gcc.gnu.org/ml/gcc-bugs/1999-06n/msg00219.html
Thanks!
Mark Bradley
_____________________________________________________________________________________
Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com