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!

relevant pull request

Nice one :slight_smile:

Here is a version of rclone built with that cgofuse

v1.61.0-beta.6565.9026bc844.fix-update-cgofuse on branch fix-update-cgofuse (uploaded in 15-30 mins)

Can you give it a test?

Maybe you'd like to propose some doc changes about FUSE-T?

I am not sure if the other person has replied yet but I just tried it and it is working for me. Thank you for this.

Though I did just notice that it closed one Google Drive mount when I went to access the second. Is that normal?

This is on Monterey.

Great

I don't know... I guess it could be limited to one at once.

I'd love a mac user (I don't have a mac) to write some instructions on how to install this - would you like to do that @David_Hansen ?

PS I've merged this to master now which means it will be in the latest beta in 15-30 minutes and released in v1.61

Sorry for the delay. I'm not involved in either project, just an interested observer :disguised_face:!

Happy to test when I can (sporadically). Clean install of that branch required workarounds mentioned here and apparently fixed as of this, which if I'm reading correctly implies building rclone with cgofuse v1.5.1-0.20221118130120-84c0898ad2e0 (or master?) should work on a clean install.

PS if you're not aware:

MacStadium is offering free Macs for developers building open source projects for the Apple platform, including macOS, iOS, tvOS, and watchOS.

the latest beta should have support for FUSE-T .

Interesting MacStadium link - will investigate - thanks!

I already support rclone through Github Payments but if you were to create a campaign for users (especially mac users) to pool money and buy you one for testing and development, I would happily contribute to that as well.

1 Like

I am sorry that I missed this, the holidays were quite hectic for me. I am out sick right now but I am willing to write some instructions on this if you still want.

1 Like

Some instructions would be great :slightly_smiling_face:

Hope you are feeling better soon.

indisposed +1

If you make a fork/branch post here if you like - I have a few notes from testing if that’d be useful (don’t expect anything particularly articulate or coherent)

in general fuse-t read-only mounts have performed superbly - on par at least with the old Google FileStream and macFUSE, but without the 6 Google electr*n helpers/Finder/system crashes on every unmount

1 Like

any news? is it now working smoothly in the stable main build of rclone?

what about r/w mounts? any disconnections or other issues to report? thanks guys!

I've been using it on both Intel and M2

There are some minor issues.

Both the FUSE-T developers and @ncw have been awesome (as usual!) in helping to clarify these issues too.

Other than those it has been really great. Feels super fast (as usual) and is more stable. It used to be if you accidentally closed rclone without unmounting, you basically needed to restart. Now the "network" connection just dies and it ends nicely.

I do wish rclone would add a "serve nfs" command that someone developed but not yet released. See Mount without FUSE on macOS - #5 by salehqt for discussion. I hope @salehqt merges it! (I messaged them but haven't heard back).

Great writeup thanks @jwink3101 .

Do you fancy adding a section to the mount docs about macOS and FUSE-T?

The source doc has a section for Windows, but none for macOS so that whole section needs doing if you had time?