FR: FUSE-T support for mounting volumes on Mac

Mounting rclone remotes on macOS currently requires macFUSE, which relies on a kext and is very often flaky (at least for me). Kexts are also set to be deprecated on macOS soon.

FUSE-T is a new FUSE implementation that doesn't rely on a kext: https://www.fuse-t.org/

I just installed it and tried an rclone mount but it doesn't work:

Any chance FUSE-T support can be added to rclone?

As I understand it fuse-t provides a libfuse.dylib with the magic in it.

In theory cgofuse should just work with it.

I suspect rclone is having trouble finding the shared object to load.

It's looking for it here. Maybe you could copy it there or make a symlink

  • /usr/local/lib/libfuse.2.dylib
  • /usr/local/lib/libosxfuse.2.dylib
1 Like

Thanks for that Nick, appears to be working now!

  • FUSE-T's dylib is /usr/local/lib/libfuse-t-1.0.1.dylib
  • I created a symlink to this file and named it libosxfuse.2.dylib

Mounts now appear to be working, will keep testing to make sure though!

Great news!

Maybe fuse-t should be installing the symlink itself or maybe cgofuse should be looking in a different place, I'm not sure.

I think it's probably this. See screenshot below for what FUSE-T installs to /usr/local/lib - I guess the expectation is that "libfuse-t.dylib" is what's called.

Screen Shot 2022-09-20 at 23.53.39

I suggest you open an issue here on the cgofuse project page.

The code that needs changing is quite simple so you could even supply a pull request!

cgofuse dynamically loads the library itself - it doesn't use the OS dynamic loader. This means it needs to know where the library is. This has the advantage that you can run rclone on a mac without osxfuse/fuse-t installed and you'll only get an error when you try to use rclone mount.

I didn't write cgofuse that will be @billziss-gh but I know it quite well!