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…

 

Thanks,


Vince