/usr/lib vs. /usr/local/lib

Andi Hellmund mail@andihellmund.com
Sat Jan 16 11:09:00 GMT 2010


Han wrote:
> On Fri, Jan 15, 2010 at 6:21 AM, Tim Prince <n8tm@aol.com> 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
> $
>
>   
You could set the LD_LIBRARY_PATH environment variable in GNU bash via

# export LD_LIBRARY_PATH="comma-separated-list-of-directories-to-search-in"



More information about the Gcc-help mailing list