Need to use some library path before /usr/lib

Gerald Pfeifer gerald at
Thu Sep 17 16:45:09 UTC 2009

Building some (Fortran) applications with lang/gcc44 it turns out we get 
weird failures upon startup which look like:

  /libexec/ /usr/lib/ version GLIBCXX_3.4.11
  required by ./gendoc not found

What is happening here is that lang/gcc44 lays down
and puts /usr/local/lib/gcc44 into USE_LDCONFIG.  Alas the system then
finds and uses /usr/lib/ from our aging system compiler 

Now, both libraries share the same name/version because these libraries,
like also (and especially) 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

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)?

More information about the freebsd-ports mailing list