polyfuse
polyfuse copied to clipboard
Is it cross-compilable?
Does it depend on availablity of libfuse library or C code in general? Does it talk directly to /dev/fuse after mounting?
It is sure since the mounting process is performed by calling fusermount directly.
I tried to cross-compile the passthrough example on Buster for RPi2. the exmaple always failed with
$ ./polyfuse-example-passthrough -s junk/ mnt/
Error: too short control message length
added some debug messages around the recvmsg in receive_fd
mount opitions are "/usr/bin/fusermount" "-o" "default_permissions,fsname=passthrough,auto_unmount" "--" "mnt/"
mount opitions are UnixStream { fd: 3, local: (unnamed), peer: (unnamed) }
mount opitions are UnixStream { fd: 4, local: (unnamed), peer: (unnamed) }
msg is msghdr { msg_name: 0x0, msg_namelen: 0, msg_iov: 0x7e87c1f4, msg_iovlen: 1, msg_control: 0x7e87c1fc, msg_controllen: 16, msg_flags: 0 }
making syscall
msg is msghdr { msg_name: 0x0, msg_namelen: 0, msg_iov: 0x7e87c1f4, msg_iovlen: 1, msg_control: 0x7e87c1fc, msg_controllen: 0, msg_flags: 0 }
rec is 0
Error: too short control message length`
allright working fine after sudo ln -s /bin/fusermount /usr/bin/
Sorry for hijacking the thread.
@sjamgade From 0.4.0, the default location to fusermount has been changed to absolute path, and this configuration can be changed with this undocumented option. Could you confirm that you get the same result when specifying actual fusermount path with this option instead of creating symlink?
@ubnt-intrepid I passed the path as argument in the program instead of creating the link and worked flawlessly. Thanks for the hint
@sjamgade Thanks for additional test.
This is a problem that occurs when the fusermount path does not exist, and since it does not depend on cross-compilation context. So I'd like to transfer the discussion to #146.