|
Nmap Development
mailing list archives
Re: trouble compiling 3.25 on Solaris 9
From: Bernd Zeimetz <zeimetz () rbg informatik tu-darmstadt de>
Date: Wed, 23 Apr 2003 21:01:09 +0200 (MEST)
Hi,
/usr/ccs/bin/as -V -Qy -s -o /var/tmp//ccVVEC7u.o /var/tmp//cc2viA9P.s
/usr/ccs/bin/as: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE
2001/04/02
/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2.2/collect2 -V -Y P,/usr/ccs/lib:/usr/lib
-Qy /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2.2/crt1.o /usr/local/lib/gcc-
lib/sparc-sun-solaris2.9/3.2.2/crti.o /usr/ccs/lib/values-Xa.o /usr/local/lib/gcc-
lib/sparc-sun-solaris2.9/3.2.2/crtbegin.o -L/usr/local/lib/gcc-lib/sparc-
sun-solaris2.9/3.2.2 -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib/gcc-
lib/sparc-sun-solaris2.9/3.2.2/../../.. /var/tmp//ccVVEC7u.o -lgcc -lgcc_eh
-lc -lgcc -lgcc_eh -lc /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2.2/crtend.o
/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2.2/crtn.o
hmm, there should be something like
-R /usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2
From my gcc:
/usr/ccs/bin/as: Sun WorkShop 6 99/08/18
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -R
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2 -Qy
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/crt1.o
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/crti.o /usr/ccs/lib/values-Xa.o
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/crtbegin.o
-L/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.7/3.2 -L/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2
-L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/../../.. /var/tmp//cc8kjQua.o
-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc /usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/crtend.o
/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/crtn.o
/tmp>cat > foo.c
int main() {
return 0;
}
/tmp>gcc foo.c -lstdc++
/tmp>ldd -s a.out
find object=libstdc++.so.5; required by a.out
search path=/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2 (RPATH
from file a.out)
trying path=/usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solaris2.8/3.2/libstdc+
+.so.5
libstdc++.so.5 => /usr/local/lib/gcc/lib/gcc-lib/sparc-sun-solari
s2.8/3.2/libstdc++.so.5
[...]
Ok, from your first mail (sorry, didn't read that before ;-)
but my LDFLAGS is set to -L/usr/local/lib and libstdc++.so.5 is soft
linked to libstdc++.so.5.0.2, which is there and readable by root, which
is what I'm compiling as.
So your compiler look for libstdc++.so.5 in /usr/local/lib at linking time.
But your executable doesn't know how to find the lib.
The runtime library search path should also point to /usr/local/lib, so
use
LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
Solaris doesn't have an /etc/ld.so.conf like Linux to provide
a lib. search path. You have to use -R or add the flags to your
compiler specs. -R/path under Solaris is the same as
-Wl,-rpath,/path under Linux.
Bernd
--
Bernd Zeimetz - DH4PH - Tel.: +49 (0)6151 16-4333
RechnerBetriebsGruppe Raum: S1/13 11a (alt 25/11a)
Fachbereich Informatik Technische Universitaet Darmstadt
---------------------------------------------------------------------
For help using this (nmap-dev) mailing list, send a blank email to
nmap-dev-help () insecure org . List run by ezmlm-idx (www.ezmlm.org).
By Date
By Thread
Current thread:
|