Homebrew and TrueCrypt

Getting Homebrew and TrueCrypt to work together By Yihang Ho

Two of my favourites apps on OS X. I've been using TrueCrypt for a long time - since the time when I was still with Windows. And Homebrew is the only reliable source of updated dev tools on OS X. Unfortunately, these two fella don't work well together. In short, brew doctor gave me some warnings about unbrewed files, and these files are needed by TrueCrypt. In short, I tried to fix this but crashed both Homebrew and TrueCrypt.

How to suppress all the warnings given by Homebrew due to TrueCrypt

After installing TrueCrypt, if you do brew doctor, most likely you will get this scary message:

Unexpected dylibs:
    /usr/local/lib/libmacfuse_i32.2.dylib
    /usr/local/lib/libmacfuse_i64.2.dylib
    /usr/local/lib/libosxfuse_i32.2.dylib
    /usr/local/lib/libosxfuse_i64.2.dylib

Warning: Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .la files:
    /usr/local/lib/libosxfuse_i32.la
    /usr/local/lib/libosxfuse_i64.la

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
    /usr/local/lib/pkgconfig/osxfuse.pc

Basically, these warnings mean that there are some files inside /usr/local/lib and Homebrew is not happy about it. Frankly, I don't think leaving those files there will cause any serious problem to Homebrew, but I don't like seeing warnings. The fix is actually very simple - just move those files away, and create symlinks to those files in their new location. That way, Homebrew will be happy, and TrueCrypt will still have all the files that it needs. Although it is OK to put these files anywhere you like (as long as Homebrew is OK with it), but I think it might be better if those files are kept somewhere that is guaranteed to be safe from the interference of other apps. So, in this context, the safest place will be somewhere inside TrueCrypt's own folder. I place them in /Applications/TrueCrypt.app/Contents/Resources/Library.

For example,

$ mv /usr/local/lib/libmacfuse_i32.2.dylib /Applications/TrueCrypt.app/Contents/Resources/Library/libmacfuse_i32.2.dylib
$ ln -s /Applications/TrueCrypt.app/Contents/Resources/Library/libmacfuse_i32.2.dylib /usr/local/lib/libmacfuse_i32.2.dylib

and repeat for all other problematic files.

Update

Good news! I wrote a script to automate this process. Download the script here.