Moshe Kaminsky wrote:
> * Richard Fish <[EMAIL PROTECTED]> [18/06/05 17:02]:
> 
>>Moshe Kaminsky wrote:
>>
>>
>>>Hi,
>>>
>>>I've noticed that after merging every package, portage runs ldconfig
>>>(the 'Regenerating /etc/ld.so.cache...' message). This takes a long
>>>time, and as far as I understand, for most packages is unnecessary. I
>>>looked in portage.py, and it appears that portage indeed checks whether
>>>the relevant directories where modified during the merge. However, this
>>>check is ignored if ldconfig should create links (ie, run without the -X
>>>flag). Can someone explain it? as far as I understand, links are only
>>>created to files in the same directories that are checked, so if they
>>>were not modified, no links should be created, right?
>>
>>
>>Well, regarding when ldconfig should be run, the answer is after
>>anything that installs libraries or updates /etc/ld.so.conf. 
>>
>>As to when portage runs ldconfig, well, it seems it will run it in the
>>following circumstances:
>>
>>1. If an ebuild specifically calls out env-update.
>>
>>2. After each ebuild, unless the package has been downgraded, in which
>>case makelinks is set to 'False'.  I'm not sure I understand this logic...
>>
> 
> 
> So, assuming the package is not downgraded, this is usually (or at least 
> in many of the cases) unneeded. For example, when installing perl 
> modules, etc. And portage actually checks whether libraries were 
> installed, but then the makelinks flag basically causes the check to be 
> ignored.
> 

It's unneeded when /etc/ld.so.conf has not changed and none of the *.so files 
have changed in the directories listed therein.

> 
>>3. After packages are unmerged
>>
>>4. In a very specific case after all packages are emerged...the logic is
>>a bit too much for me to decipher without stepping through with a
>>debugger, or adding a bunch of print statements.
>>
>>
>>So, I have a question for you...what exactly do you mean by "takes a
>>long time"?  On my system, ldconfig completes in under 10 seconds after
>>a fresh boot, and almost instantaneously after that.
> 
> 
> On my system it takes a bit longer, I think maybe 20 seconds, and I 
> didn't notice any difference between calling it immediately after a boot 
> or after that. My machine is quiet old, though (800Mhz Duron with with 
> 128MB RAM). I agree it's not much after emerging openoffice or mozilla, 
> but it is much if you need to install ten perl modules, which consists 
> basically of copying some files, and ldconfig is run after every one of 
> them for nothing.
> 
> I think I'm just going to try and remove this makelinks condition, and 
> see what happens.
> 

You should be fine as long as my above stated condition is met (installing perl 
modules is a good example).  BTW, the reason ldconfig takes so long for you is 
that you don't have much ram :-(.

Zac

> Thanks,
> Moshe
> 
>>-Richard
>>
>>-- 
>>gentoo-user@gentoo.org mailing list
>>
> 
> 

-- 
gentoo-user@gentoo.org mailing list

Reply via email to