This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
shared libraries failing to link on Solaris
- To: gcc bug reports <gcc-bugs at gcc dot gnu dot org>
- Subject: shared libraries failing to link on Solaris
- From: Martin Sebor <sebor at roguewave dot com>
- Date: Wed, 02 Aug 2000 22:23:44 -0600
- CC: Michael Yoder <yoder at roguewave dot com>
- Organization: Rogue Wave Software, Inc.
Hi,
we're having trouble building shared libraries with g++ 2.95.2 that use
libstc++ on Solaris 5.7 and 5.8. Below's a simple source for a shared
lib that when we try to link produces linker errors. Is this a known
bug?
As is apparent from the compiler output, we're using Sun's as and ld --
might this have something to do with the problem? Any help would be
appreciated.
Thanks
Martin
$ cat > t.cpp
#include <iostream.h>
int foo () {
cout << "foo\n";
}
$ g++ -v -fPIC -shared t.cpp -o t.so
Reading specs from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/cpp -lang-c++ -v
-D__GNUC__=
2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Dsparc -Dsun -Dunix
-D__svr4__
-D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc
-D__sun
-D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS
-D__GCC_NEW_VARARGS__ -Ac
pu(sparc) -Amachine(sparc) t.cpp /var/tmp/ccGVXWna.ii
GNU CPP version 2.95.2 19991024 (release) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../include/g++-3
/usr/local/include
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/../../../../sparc-sun-solari
s2.7/include
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search
path:
End of omitted list.
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/cc1plus
/var/tmp/ccGVXWna.ii
-quiet -dumpbase t.cc -version -fPIC -o /var/tmp/ccSc7Pqb.s
GNU C++ version 2.95.2 19991024 (release) (sparc-sun-solaris2.7)
compiled by GNU
C version 2.95.2 19991024 (release).
/usr/ccs/bin/as -V -Qy -s -K PIC -o /var/tmp/cc1bw58a.o
/var/tmp/ccSc7Pqb.s
/usr/ccs/bin/as: WorkShop Compilers 5.0 98/12/21
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/collect2 -V -G -dy
-z text -
Y P,/usr/ccs/lib:/usr/lib -Qy -o t.so
/usr/local/lib/gcc-lib/sparc-sun-solaris2.
7/2.95.2/crti.o /usr/ccs/lib/values-Xa.o
/usr/local/lib/gcc-lib/sparc-sun-solari
s2.7/2.95.2/crtbegin.o
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2 -L/u
sr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib /var/tmp/cc1bw58a.o -lstdc++
-lm -lgc
c -lgcc /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crtend.o
/usr/local/l
ib/gcc-lib/sparc-sun-solaris2.7/2.95.2/crtn.o
ld: Software Generation Utilities - Solaris/ELF (3.0)
Text relocation remains referenced
against symbol offset in file
_IO_do_write 0xccc
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(fileops.o)
_IO_do_write 0xd50
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(fileops.o)
_IO_do_write 0x80
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(stdiostream.o)
_IO_do_write 0xc28
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(fileops.o)
_IO_do_write 0x18f4
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(fileops.o)
_IO_do_write 0xbd8
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(fileops.o)
_IO_do_write 0x154
/usr/local/lib/gcc-lib/sparc-sun
-solaris2.7/2.95.2/libstdc++.so(filebuf.o)
...