MacOS – TrueCrypt and OSX Fuse

homebrewmacostruecrypt

I installed OSX Fuse via Brew, as installing it via official installer causes brew doctor to go all crazy. Mavericks, 10.9.1

I followed the instructions after the installation:

brew install osxfuse
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/osxfuse-2.6.2.mavericks.bottle.tar.gz
Already downloaded: /Library/Caches/Homebrew/osxfuse-2.6.2.mavericks.bottle.tar.gz
==> Pouring osxfuse-2.6.2.mavericks.bottle.tar.gz
==> Caveats
If upgrading from a previous version of osxfuse, the previous kernel extension
will need to be unloaded before installing the new version. First, check that
no FUSE-based file systems are running:

  mount -t osxfusefs

Unmount all FUSE file systems and then unload the kernel extension:

  sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs

The new osxfuse file system bundle needs to be installed by the root user:

  sudo /bin/cp -RfX /usr/local/Cellar/osxfuse/2.6.2/Library/Filesystems/osxfusefs.fs /Library/Filesystems
  sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
==> Summary
?  /usr/local/Cellar/osxfuse/2.6.2: 84 files, 5.0M

Now, when I try to lunch TrueCrypt, I still get an error:

/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt 
dyld: Library not loaded: /usr/local/lib/libfuse.2.dylib
  Referenced from: /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt
  Reason: image not found
fish: Job 1, '/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt ' terminated by signal SIGTRAP (Trace or breakpoint trap)

My research indicates I need MacFuse compatibility layer with my OSXFuse install. How do I get that with brew?

Best Answer

I run into this type of problem frequently. I use a strict umask (0077) in my shell. Usually, when brew is done installing, the dynamic libraries will have the same restrictive mask and the software I just installed doesn't work as a different user. Check the permissions on /usr/local/lib/libfuse.2.dylib. It might be accessible only by the brewer, which could explain why TrueCrypt can't find it.

Since HomeBrew symlinks everything, you may have to change the permissions on the symlink itself, and the file to which it is pointing. For the symlink, use the -h option:

chmod -h a+rX /usr/local/lib/libfuse.2.dylib

While you're at it, check to see if other files have the same problems.

Finally, sudo inherits the umask of the sudo-er. If umask is the culprit here, you might want to also check the permissions for the file-system bundle that you copied as an admin. If those are a problem, use

sudo chmod -R a+rX /Library/Filesystems/osxfusefs.fs

Hope this helps.