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