Subject: | Latest Fuse versions fail to build on RHEL5, fuse 2.7.4 |
Fuse 0.09 builds fine on RHEL 5, but later versions - 0.11-0.13 - fail
to build. Fuse 0.13 works fine on RHEL6 though, so I suspect it may be a
fuse version issue? RHEL5 has fuse 2.7.4, while RHEL6 has fuse 2.8.3.
It's fine if the newer ones won't work with fuse 2.7, of course, but
this should at least be documented somewhere.
Here's the build failure output:
sulphur:~/tmp/Fuse-0.13$ perl Makefile.PL
fuse version found: sh: mount_fusefs: command not found
Writing Makefile for Fuse
sulphur:~/tmp/Fuse-0.13$ make
gcc -c -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse
-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"0.13\"
-DXS_VERSION=\"0.13\" -fPIC
"-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -g
-ggdb -DPERL_HAS_64BITINT Fuse.c
Fuse.xs:43: error: expected specifier-qualifier-list before 'tTHX'
Fuse.xs:53: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'master_interp'
Fuse.xs:56: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'S_clone_interp'
Fuse.xs: In function 'S_fh_store_handle':
Fuse.xs:117: error: 'my_cxt_t' has no member named 'threaded'
Fuse.xs:121: warning: ISO C90 forbids mixed declarations and code
Fuse.xs: In function '_PLfuse_getattr':
Fuse.xs:132: warning: implicit declaration of function 'S_clone_interp'
Fuse.xs:132: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:132: error: (Each undeclared identifier is reported only once
Fuse.xs:132: error: for each function it appears in.)
Fuse.xs:132: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_readlink':
Fuse.xs:177: warning: ISO C90 forbids mixed declarations and code
Fuse.xs:177: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:177: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_getdir':
Fuse.xs:209: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:209: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_mknod':
Fuse.xs:241: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:241: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_mkdir':
Fuse.xs:263: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:263: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_unlink':
Fuse.xs:285: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:285: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_rmdir':
Fuse.xs:305: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:305: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_symlink':
Fuse.xs:325: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:325: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_rename':
Fuse.xs:346: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:346: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_link':
Fuse.xs:367: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:367: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_chmod':
Fuse.xs:388: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:388: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_chown':
Fuse.xs:409: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:409: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_truncate':
Fuse.xs:434: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:434: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_utime':
Fuse.xs:462: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:462: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_open':
Fuse.xs:486: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:486: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_read':
Fuse.xs:549: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:549: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_write':
Fuse.xs:599: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:599: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_statfs':
Fuse.xs:629: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:629: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_flush':
Fuse.xs:674: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:674: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_release':
Fuse.xs:696: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:696: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_fsync':
Fuse.xs:720: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:720: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_setxattr':
Fuse.xs:746: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:746: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_getxattr':
Fuse.xs:773: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:773: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_listxattr':
Fuse.xs:816: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:816: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_removexattr':
Fuse.xs:880: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:880: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_opendir':
Fuse.xs:902: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:902: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_readdir':
Fuse.xs:938: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:938: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_releasedir':
Fuse.xs:1026: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1026: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_fsyncdir':
Fuse.xs:1049: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1049: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_init':
Fuse.xs:1077: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1077: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_destroy':
Fuse.xs:1101: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1101: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_access':
Fuse.xs:1123: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1123: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_create':
Fuse.xs:1145: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1145: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_ftruncate':
Fuse.xs:1204: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1204: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_fgetattr':
Fuse.xs:1234: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1234: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_lock':
Fuse.xs:1286: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1286: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_utimens':
Fuse.xs:1349: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1349: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function '_PLfuse_bmap':
Fuse.xs:1374: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1374: warning: assignment makes pointer from integer without a cast
Fuse.xs: In function 'XS_Fuse_CLONE':
Fuse.xs:1541: error: 'tTHX' undeclared (first use in this function)
Fuse.xs:1541: error: expected ';' before 'parent'
Fuse.xs:1542: error: 'my_cxt_t' has no member named 'self'
Fuse.xs:1559: error: 'parent' undeclared (first use in this function)
Fuse.c:1591: warning: unused variable 'items'
Fuse.xs: In function 'XS_Fuse_perl_fuse_main':
Fuse.xs:1638: error: 'my_cxt_t' has no member named 'threaded'
Fuse.xs:1640: error: 'my_cxt_t' has no member named 'threaded'
Fuse.xs:1642: error: 'master_interp' undeclared (first use in this function)
Fuse.xs:1643: error: 'my_cxt_t' has no member named 'mutex'
Fuse.xs:1701: error: 'my_cxt_t' has no member named 'threaded'
Fuse.xs: In function 'boot_Fuse':
Fuse.xs:1526: warning: ISO C90 forbids mixed declarations and code
Fuse.xs:1528: error: 'my_cxt_t' has no member named 'self'
make: *** [Fuse.o] Error 1
Cheers,
Gavin