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,....).