ldconfig in FreeBSD systems has a complete different syntax, which isn't supported by current portage.env_update function. The attached patch to portage make it recognize FreeBSD systems and uses the right syntax to regenerate the hints file, fixing its behaviour for G/FBSD. Thanks in advance, Diego
Created attachment 59609 [details, diff] portage-2.0.51.22-ldconfig-fbsd.patch
Your change to default behaviour, I'd wonder about how it behaves with osx...
OSX has no /sbin/ldconfig at all...
It breaks with ${ROOT} != "/" with that patch Changing the command to that: commands.getstatusoutput("cd / ; /sbin/ldconfig -elf "+str(root)+"etc/ld.so.conf -f "+str(root)+"var/run/ld-elf.so.hints") should fix.
Sorry the correct one is commands.getstatusoutput("cd / ; /sbin/ldconfig -elf -f "+str(root)+"var/run/ld-elf.so.hints"+str(root)+"etc/ld.so.conf")
Just to confirm, should that be: commands.getstatusoutput("cd / ; /sbin/ldconfig -elf -f "+str(root)+"var/run/ld-elf.so.hints "+str(root)+"etc/ld.so.conf") ? There appears to be a space missing after ld-elf.so.hints.
Yes sorry, the space is needed :)
Okay.. InCVS
Can you please add a -i option right after "ldconfig" ? Is needed when using ROOT= because without it, if the directories doesn't exists, it fails.
Fixed on or before 2.0.51.22-r1
Looking through the batch of bugs, I'm not sure that some of these are actually fixed in stable. Others, the requirements have possibly changed after the initial fix was committed. If you think this bug has been closed incorrectly, please reopen or ask that it be reopened.