Similar to my last post about updating kernel extensions, you can run into problems with Radmind due to the dyld shared cache. You may see messages like this in your system log:
current cache invalid because /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit has changed
Running the update_dyld_shared_cache
command will fix this, but there’s a better way. Sure, there’s almost no overhead to that command, but where’s the fun in that? Here’s a pre-apply script that will delete any shared caches that have changed, which will then be re-built at reboot.
#!/bin/sh # update_dyld_caches: Inspects the applicable transcript for something that # might cause a dyld cache to become outdated. If it exists, # delete the cache so it's re-created at startup. DYLD_CACHE_FOLDER="/private/var/db/dyld" DYLD_PREFIX="dyld_shared_cache_" ARCHITECTURES="i386 x86_64 rosetta ppc ppc64" for arch in ${ARCHITECTURES}; do cache="${DYLD_CACHE_FOLDER}/${DYLD_PREFIX}${arch}" map="${DYLD_CACHE_FOLDER}/${DYLD_PREFIX}${arch}.map" if /bin/test -f "${cache}"; then if /bin/test -f "${map}"; then /bin/cat "${map}" | grep ^/ | sort --unique --ignore-case | while read line; do if /bin/test -n "$(grep ${line} ${1})"; then # found a match /bin/rm -f "${cache}" /bin/rm -f "${map}" break; fi done else # Cache exists, but there's no map. /bin/rm -f "${cache}" fi fi done