This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

GCC snapshot 2000-11-27 build fails on Solaris 8 SPARC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]