|
From: | Peter Johansson |
Subject: | Re: why is ldconfig needed after installation |
Date: | Tue, 27 May 2014 16:09:20 +1000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130108 Thunderbird/10.0.12 |
On 05/26/2014 05:07 PM, Peter Johansson wrote:
Hm, there is nothing in my 'Makefile.in' that mentions --mode=finish. Is there any reason for that or is it a automake bug?I investigated this a bit further. 'libtool --mode=finish' is indeed called and it calls 'ldconfig -n /usr/local/lib' but that doesn't update the cache as I want. Instead I have $ ldconfig -p | grep yat libyat.so.8 (libc6,x86-64) => /usr/local/lib/libyat.so.8 libyat.so.7 (libc6,x86-64) => /usr/local/lib/libyat.so.7 libyat.so.6 (libc6,x86-64) => /usr/local/lib/libyat.so.6 libyat.so.5 (libc6,x86-64) => /usr/local/lib/libyat.so.5 libyat.so (libc6,x86-64) => /usr/local/lib/libyat.so but I just installed libyat.so.9. If I instead call $ sudo ldconfig /usr/local/lib $ ldconfig -p | grep yat libyat.so.9 (libc6,x86-64) => /usr/local/lib/libyat.so.9 libyat.so.8 (libc6,x86-64) => /usr/local/lib/libyat.so.8 libyat.so.7 (libc6,x86-64) => /usr/local/lib/libyat.so.7 libyat.so.6 (libc6,x86-64) => /usr/local/lib/libyat.so.6 libyat.so.5 (libc6,x86-64) => /usr/local/lib/libyat.so.5 libyat.so (libc6,x86-64) => /usr/local/lib/libyat.so in other words, it works as I want if I call 'lconfig /usr/local/lib' but not if I call 'ldconfig -n /usr/local/lib'. What does the -n switch? The man page says: -n Only process directories specified on the command line. Don’t process the trusted directories (/lib and /usr/lib) nor those specified in /etc/ld.so.conf. Implies -N. IIUC, that means that the cache is not rebuilt because I have '/usr/local/lib' in '/etc/ld.so.conf'. Why is ldconfig called with -n? I did some digging and found that it's been like that since beginning of time, or at least since v0.6a. Cheers, -- Peter Johansson |
[Prev in Thread] | Current Thread | [Next in Thread] |