Re: /usr/lib vs. /usr/local/lib

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Han wrote:
On Fri, Jan 15, 2010 at 6:21 AM, Tim Prince <n8tm@xxxxxxx> wrote:
Han wrote:

From what I learned (e.g. the book "An introduction to GCC" by Brian
Gough), /usr/local/lib is searched _before_ /usr/lib by gcc linker for
libraries. However, using ldd I can see my program always linked to
the libraries from /usr/lib, even when the same library exists under
both /usr/lib and /usr/local/lib.

Is "/usr/local/lib" still searched before "/usr/lib" by GCC by
default?  If not, is there a way to force GCC to search /usr/local/lib
first?

gcc doesn't control this.  I hope you are misquoting the textbook.
Presumably, you are running under a shell which supports setting the search
order in PATH and LD_LIBRARY_PATH .... environments. In certain common linux
systems, the default order changes according to the path you use to login
(ssh, telnet, console,....).


it seems my shell does not have LD_LIBRARY_PATH...

$ echo $LD_LIBRARY_PATH
$
$ env | grep LD_LIBRARY_PATH
$


use

$ LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
$ export LD_LIBRARY_PATH

(There is a way of writing it in a slightly shorter way, but it is less portable, so I will not suggest it).



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux