Mac update_dyld_shared_cache error in the terminal
Asked Answered
D

2

5

I had an error message in my terminal a few days ago:

dyld: shared cached file was built against a different libSystem.dylib, ignoring cache.
to update dyld shared cache run: 'sudo update_dyld_shared_cache' then reboot.

I looked it up on the internet and I found that rebooting in safe mode and rebooting again can make this disappear but it was temporary since today, the same error message came back

The solutions seems to be

sudo update_dyld_shared_cache -force

But when I execute this command, I have around 50 lines of errors appearing:

update_dyld_shared_cache: for arch i386, can't put /usr/lib/libutil.dylib in shared cache because it is not owned by root
update_dyld_shared_cache: for arch i386, can't put /usr/lib/libtidy.A.dylib in shared cache because it is not owned by root
...
update_dyld_shared_cache: for arch x86_64, can't put /usr/lib/libcrypto.0.9.7.dylib in shared cache because it is not owned by root
...

Has anyone encountered this problem, and managed to solve it ? If it can help, I'm on Mac OS 10.9.5

Thank you for your help

Edit: The issue solved itself with Yosemite

Dreeda answered 25/9, 2014 at 20:21 Comment(1)
Same here, was able to get rid of it for a bit by doing a Safe Mode restart than a regular restart, but it comes back.... could use some help with this.Isiah
R
14

Open Disk Utility, click on Repair Disk Permissions, and then try running sudo update_dyld_shared_cache -force again. Worked perfectly for me :)

Ribera answered 13/1, 2015 at 2:24 Comment(2)
I upgraded my os from OSX 10.10.2 to 10.10.4 and saw the issue that the OP reported. Did the steps mentioned above and it worked like a champ.Parsifal
Some people suggest going into safe mode and rebooting, this will only temporarily take care of the problem. Repairing Disk Permissions is the way to go, thanks!Typewritten
D
-3

if you are getting this error, the owner of the file is not set properly. so change the owner of the file by using chown command, look into below for example

got to terminal and type following command :

chown /usr/lib/libutil.dylib

chown /usr/lib/libtidy.A.dylib

chown /usr/lib/libcrypto.0.9.7.dylib

good luck

Distinctive answered 22/11, 2014 at 12:17 Comment(2)
the commands they way they are here don't do anything. You have to say to whom you are passing ownership.Restaurateur
You've got the right idea, but you forgot to mention that you have to do it as root.Uniat

© 2022 - 2024 — McMap. All rights reserved.