Need to use some library path before /usr/lib

Jason J. Hellenthal jasonh at DataIX.net
Fri Sep 18 01:24:17 UTC 2009


On Thu, 17 Sep 2009 12:45 -0000, gerald wrote:

> Building some (Fortran) applications with lang/gcc44 it turns out we get
> weird failures upon startup which look like:
>
>  /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11
>  required by ./gendoc not found
>
> What is happening here is that lang/gcc44 lays down
>  /usr/local/lib/gcc44/libstdc++.so.6
> and puts /usr/local/lib/gcc44 into USE_LDCONFIG.  Alas the system then
> finds and uses /usr/lib/libstdc++.so.6 from our aging system compiler
> instead.
>
> Now, both libraries share the same name/version because these libraries,
> like also (and especially) libgcc_s.so.1 because new versions are drop
> ins for older ones, but not the other way round.
>
> How can we address this?
>
> 	Updating the old, unsupported by upstream system compiler has
> been ruled out historically, and does not look like an option (and also
> would not help older versions of FreeBSD).
>
> 	Use -rpath, somehow, by changing the configuration of the
> lang/gcc44 ports?  That sucks in that it will break updates to newer
> versions of GCC.
>
> 	Set up ldconfig such that /usr/local/lib/gcc44 comes before
> /usr/lib?
>
> Anything else?  Any pointers on how to best implement an ordering of
> search paths for ldconfig (or rpath, if that is the best of options)?
>
> Gerald
> 
>

Would it be possible to just libmap.conf gcc44 and friends just for that lib and 
the programs it builds. I know this is not such a great solution but for the 
mean time it may be a relevant answer.

-- 

  Jason J. Hellenthal
  http://www.DataIX.net/
  jasonh at DataIX.net
  0x691411AC

  - (2^(N-1))


More information about the freebsd-ports mailing list