Cryptomator 1.19.0 updated fuse-nio-adapter from 5.1.0 to 6.0.1. Using fuse-nio-adapter 6.0.1 or 6.0.0, I get "No fuse library found at expected path" error when trying to unlock a vault, it works with 5.1.0.
I see this was introduced in 25293fa (and renamed in b1e35a3) that looks at hard coded locations per distribution.
I believe with Nix we were correctly making available fuse for cryptomator: we provide an LD_LIBRARY_PATH variable for cryptomator with the fuse library, this is the relevant log line when running cryptomator with this variable:
11:46:32.244 [main] INFO org.cryptomator.common.Environment - java.library.path: /nix/store/75xbnj2679mg2871vdb0w54ahd95n48l-cups-2.4.16-lib/lib:/nix/store/zjarzxjwirqym8wasmzgvqjvvp3bbwr9-cairo-1.18.4/lib:/nix/store/1qm74vf93ik1xjrr9kl6qvjrklljlcqh-glib-2.86.3/lib:/nix/store/q43d6pbb9qxyhj6hq4id5mdg6gfrz6gv-gtk+3-3.24.51/lib:/nix/store/8x2msxrm9yb8ycz9pi1pi8wz5zs9gy64-ffmpeg-8.0.1-lib/lib:/nix/store/slf3cq5kswds75v55djb1rf94lyw8zv7-fuse-3.17.4/lib:/nix/store/ffyhiqisq7mzn5g5x5n556njq2h8kp0z-libayatana-appindicator-0.5.92/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
With Nix, there's no /lib or similar directories, and everything goes in to the /nix/store with a long hash of the library, in this case /nix/store/slf3cq5kswds75v55djb1rf94lyw8zv7-fuse-3.17.4/lib.
I think adding some regex matching for nix store paths is not the best solution and instead you could also check if the libfuse3.so is available from a directory in LD_LIBRARY_PATH variable. Or I'd be also happy if this fuse library check could be disabled by a build flag.
Cryptomator 1.19.0 updated fuse-nio-adapter from 5.1.0 to 6.0.1. Using fuse-nio-adapter 6.0.1 or 6.0.0, I get "No fuse library found at expected path" error when trying to unlock a vault, it works with 5.1.0.
I see this was introduced in 25293fa (and renamed in b1e35a3) that looks at hard coded locations per distribution.
I believe with Nix we were correctly making available fuse for cryptomator: we provide an
LD_LIBRARY_PATHvariable for cryptomator with the fuse library, this is the relevant log line when running cryptomator with this variable:11:46:32.244 [main] INFO org.cryptomator.common.Environment - java.library.path: /nix/store/75xbnj2679mg2871vdb0w54ahd95n48l-cups-2.4.16-lib/lib:/nix/store/zjarzxjwirqym8wasmzgvqjvvp3bbwr9-cairo-1.18.4/lib:/nix/store/1qm74vf93ik1xjrr9kl6qvjrklljlcqh-glib-2.86.3/lib:/nix/store/q43d6pbb9qxyhj6hq4id5mdg6gfrz6gv-gtk+3-3.24.51/lib:/nix/store/8x2msxrm9yb8ycz9pi1pi8wz5zs9gy64-ffmpeg-8.0.1-lib/lib:/nix/store/slf3cq5kswds75v55djb1rf94lyw8zv7-fuse-3.17.4/lib:/nix/store/ffyhiqisq7mzn5g5x5n556njq2h8kp0z-libayatana-appindicator-0.5.92/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/libWith Nix, there's no
/libor similar directories, and everything goes in to the/nix/storewith a long hash of the library, in this case/nix/store/slf3cq5kswds75v55djb1rf94lyw8zv7-fuse-3.17.4/lib.I think adding some regex matching for nix store paths is not the best solution and instead you could also check if the
libfuse3.sois available from a directory inLD_LIBRARY_PATHvariable. Or I'd be also happy if this fuse library check could be disabled by a build flag.