Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-10-19 01:31:35


Hi Andre,

> All automated tests pass for me on linux. For solaris/Sun's LD, I had to:
>
>
> --- gcc.jam 2004-10-18 11:51:34.000000000 -0700
> +++ gcc.orig.jam 2004-10-18 11:51:40.000000000 -0700
> @@ -216,7 +216,7 @@
> {
> flags gcc.link OPTIONS <debug-symbols>off : -Wl,-s ;
> flags gcc.link RPATH <dll-path> ;
> - flags gcc.link RPATH <xdll-path> ;
> + # <xdll-path> is ignored. Is this correct? AH 2004/10/16

Aha! BTW, could you run "diff" with different argument order, that is "diff -u
gcc.orig.jam gcc.jam". I'm accustomed to think that "+" are the lines added
by the patch.

> # This permits shared libraries with non-PIC code on Solaris
> # VP, 2004/09/07: Now that we have -fPIC hardcode in link.dll,
>
>
> in order to make dll_path and library_chain pass. I'm not sure why this
> is necessary. The test were passing as of
> boost-04-10-16-0000+gcc_sun_patch.
>
> Note that the following also works:
>
> --- gcc.jam 2004-10-18 12:02:17.000000000 -0700
> +++ gcc.orig.jam 2004-10-18 11:51:40.000000000 -0700
> @@ -216,7 +216,7 @@
> {
> flags gcc.link OPTIONS <debug-symbols>off : -Wl,-s ;
> flags gcc.link RPATH <dll-path> ;
> - flags gcc.link LINKPATH <xdll-path> ;
> + # <xdll-path> is ignored. Is this correct? AH 2004/10/16
>
> # This permits shared libraries with non-PIC code on Solaris
> # VP, 2004/09/07: Now that we have -fPIC hardcode in link.dll,

Now, *this* is what I planned to ask you to try next ;-)

> This is my understanding of the problem so far:
>
> 1) linker search path
> Used at link-time only
> 2) runtime/dynamic linker search path
> Recorded at link-time to be used at run-time.
> 3) linker search path for emulating runtime behaviour
> Recorded at link-time to be used at link-time, when a shared
> library needs to be searched for.
>
> GNU's ld has
> 1) -L
> 2) -rpath (or -R)
> 3) -rpath-link first, then -rpath, then (on solaris) -L
> SUN's ld has
> 1) -L
> 2) -R
> 3) -L or -R (not sure in which order)

Given that xdll-path -> -L works for Solaris, I completely agree with your
analysis. In fact, I was only unsure about 3) on Solaris.

I've just applied your patch and moved the Milestone_10 tag.

- Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk