Date: Sun, 20 Sep 1998 23:47:08 +0800 From: Peter Wemm <peter@netplex.com.au> To: asami@FreeBSD.ORG (Satoshi Asami) Cc: mark@grondar.za, markm@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, jdp@polstra.com Subject: Re: cvs commit: ports/graphics/jpeg Makefile ports/graphics/jpeg/pkg PLIST Message-ID: <199809201547.XAA25840@spinner.netplex.com.au> In-Reply-To: Your message of "Tue, 15 Sep 1998 00:03:57 MST." <199809150703.AAA26650@silvia.hip.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Satoshi Asami wrote:
> * It is not conditional on PORTOBJFORMAT.
> *
> * GNU Configure makes the decisions:
>
> Oh, I see.
>
> * > If it does, does it add the flags "-Wl,-soname,jpeg.so.9" to the cc
> * > -shared command line if PORTOBJFORMAT=elf?
Hey guys, did you know about -h and -R instead of all this -Wl crap? :-)
peter@beast[11:33pm]/tmp/foo-275> cc -fpic -c foo.c
peter@beast[11:33pm]/tmp/foo-276> cc -shared -h libfoo.so.1 -R /tmp/foo -o libfoo.so.1.0 foo.o
^^^^^^^^^^^^^^^^^^^^^^^^^^^
peter@beast[11:33pm]/tmp/foo-277> objdump --all-headers libfoo.so.1.0 | more
libfoo.so.1.0: file format elf32-i386
libfoo.so.1.0
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000001dc
[...]
Dynamic Section:
SONAME libfoo.so.1 <<<<<<
RPATH /tmp/foo <<<<<
INIT 0x1d4
FINI 0x26c
[...]
And that reminds me.. The RPATH of the libraries is not being correctly
incorporated into the headers of the calling executable.
Given a libfoo.so like the one above with RPATH "/tmp/foo" encoded in it, a
"cc -o x x.c -L. -lfoo" should (IMHO) result in the new binary ("x") having
a reference to /tmp/foo in it's own RPATH automatically.. This means you
should never need an elf $LD_LIBRARY_PATH or ldconfig -elf as all your
binaries have hints (from the libraries themselves) where to look, even if
the libraries are in wierd places like the modula-3 runtime libs are (for
cvsup).
Cheers,
-Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809201547.XAA25840>
