-
-
Save jimjh/3888749 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
libs=( "/usr/local/lib/libmacfuse_i32.2.dylib" \ | |
"/usr/local/lib/libosxfuse_i32.2.dylib" \ | |
"/usr/local/lib/libosxfuse_i64.2.dylib" \ | |
"/usr/local/lib/libmacfuse_i64.2.dylib" \ | |
"/usr/local/lib/libosxfuse_i32.la" \ | |
"/usr/local/lib/libosxfuse_i64.la" \ | |
"/usr/local/lib/pkgconfig/osxfuse.pc" ) | |
truecrypt="/Applications/TrueCrypt.app/Contents/Resources/Library" | |
for lib in "${libs[@]}" | |
do | |
mv $lib "${truecrypt}/." && echo "Moved ${lib} to ${truecrypt}." | |
rm $lib | |
ln -s "${truecrypt}/$(basename $lib)" ${lib} && echo "Linked ${lib}." | |
done |
@jimjh So truecrypt does not hardcode the rpath and searches for the needed libs also in its Contents/Resources/Library
? Cool.
And when I then brew fuse4x, truecrypt is still happy?
@samueljohn Sorry for not getting back to you sooner. I am not sure about hardcoding, but the trick I used is ln -s "${truecrypt}/$(basename $lib)"
.
The only thing this script does is to move the libs to Contents/Resources/Library
and then create symlinks in /usr/local/lib
. For some reason, homebrew is OK with the symlinks but not OK with the actual libs. Very hacky, I know.
Thanks -- this worked okay for me. I had to first
mkdir /Applications/TrueCrypt.app/Contents/Resources/Library
After that, I got a permissions error with /usr/local/lib/pkgconfig/osxfuse.pc, so I ended up manually copying the file, then
rm /Applications/TrueCrypt.app/Contents/Resources/Library/osxfuse.pc
ln -s /Applications/TrueCrypt.app/Contents/Resources/Library/osxfuse.pc /usr/local/lib/pkgconfig/
I probably could have just
sudo mv /usr/local/lib/pkgconfig/osxfuse.pc /Applications/TrueCrypt.app/Contents/Resources/Library
Interestingly, I first tried manually making the symlink, and this failed -- brew doctor still didn't like it, even though it was an alias. Confirmed that the file was deleted. I noticed that the manually created (drag-and-drop) symlink included a "date added" in Finder, and the ones created by the above script did not, so I deleted the manually created symlink and made one with ln -s, which had no "date added" like the others, and this made "brew doctor" happy.
Weird.
This script will solve the issue cleanly, if anyone is interested. Just run once.
Try this if brewing libfuse on your own didn't work out.