I seem to be having a problem with FUSE versioning in fuse-2.6.0pre2…


I ported fuse-2.6.0pre2 to OpenWRT, but when I link libfuse with owfs-2.3p7, the linker links owfs to the older backward-compatible versions of some of the FUSE code.  Specifically, it seems to be anything where fuse uses .symver directives.


In my current case, statfs() had changed, and if I comment out these:


__asm__(".symver fuse_reply_statfs_compat,fuse_reply_statfs@FUSE_2.4");

__asm__(".symver fuse_reply_open_compat,fuse_reply_open@FUSE_2.4");

__asm__(".symver fuse_lowlevel_new_compat,fuse_lowlevel_new@FUSE_2.4");


from fuse_lowlevel.c, it works great.  I had similar problems with fuse_mount().  It seems to link incorrectly whenever a .symver is used.


I’m compiling owfs with FUSE_USE_VERSION=26.


Any ideas on where this weirdness might be coming from?


From what I can tell from the code, the compiler directive should work…