Need to use some library path before /usr/lib

Loren James Rittle rittle at latour.labs.mot.com
Mon Sep 21 16:40:28 UTC 2009


In article <alpine.LSU.1.99.0909202328340.5359 at acrux.dbai.tuwien.ac.at>,
Gerald Pfeifer<gerald at pfeifer.com> writes:

> On Thu, 17 Sep 2009, Jason J. Hellenthal wrote:
>> Something like the following.
>> 
>> [/usr/local/bin/]
>> libstdc++.so            /usr/local/lib/gcc44/libstdc++.so
>> libstdc++.so.6          /usr/local/lib/gcc44/libstdc++.so.6

> That looks quite nice, and I was going to use that, alas I cannot
> seem to make it work.  Is it possible that libmap.conf does not work
> when the name on the left-hand side is the same as on the right-hand
> side?

Why don't you just install /usr/local/lib/gcc44/libstdc++.so with a
different version number?  There is no requirement to sequentially
assign numbers thus: use 10MmX where X is the number assigned by GNU
and Mm is the major/minor number as used by the port.  Then, install
in standard port place and let standard rules find the right library.
(e.g. lang/gcc44 would use: /usr/local/lib/libstdc++.so.10446;
lang/gcc45 would use: /usr/local/lib/libstdc++.so.10456)

>> On a second note. It would be real nice if the install of a second/third 
>> compiler would get installed into its own directory rather than placing 
>> executables in /usr/local/bin/ place them /usr/local/lib/gcc44/bin and 
>> create the symlinks to them. This would at least help the libmap issue 
>> and gcc44 for several ports (just building).

> It wouldn't really help since the resulting binaries need the very same 
> workaround.

>> Now for a port running (octave as example) have that port spam libmap.conf
>> with the proper configuration for just that port the same way perl does to
>> make.conf.

> That might work, though it looks like a lot of work.  It occurs to me
> we really need to set this globally.  That is one of the implications
> those that always pushed for having ports use a distinct compiler may
> have missed.  That, or using -rpath.

> Loren, how would we best have GCC automatically add 
>   -rpath=/usr/local/lib/gcc44
> to every invocation?  Presumably spec magic?

I can't vouch for having tested it recently (or ever) but:

Add --enable-rpath to the configure line.

Regards,
Loren


More information about the freebsd-ports mailing list