Subject: | Fuse-0.16 fails to compile on 32-bit |
Compile failure on Gentoo 32-bit system:
i686-pc-linux-gnu-gcc -c -I/usr/include/fuse -fno-strict-aliasing -pipe D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -ggdb -DVERSION=\"0.16\" DXS_VERSION=\"0.16\" -fPIC "-I/usr/lib/perl5/5.12.4/i686-linux/CORE" -Wall DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -pthread -DFUSE_FOUND_MAJOR_VER=2 DFUSE_FOUND_MINOR_VER=9 -DFUSE_FOUND_MICRO_VER=2 Fuse.c
Fuse.xs: In function ‘_PLfuse_release’:
Fuse.xs:771:16: error: ‘temp’ undeclared (first use in this function)
Fuse.xs:771:16: note: each undeclared identifier is reported only once for each function it appears in
Fuse.c: In function ‘XS_Fuse_CLONE’:
Fuse.c:2052:11: warning: unused variable ‘items’ [-Wunused-variable]
Cause: missing declaration of char *temp for this new (since 0.15) code block in _PLfuse_release():
#if FUSE_VERSION >= 29
XPUSHs(fi->flock_release ? sv_2mortal(newSViv(1)) : &PL_sv_undef);
# ifdef PERL_HAS_64BITINT
XPUSHs(sv_2mortal(newSViv(fi->lock_owner)));
# else
if (asprintf(&temp, "%llu", fi->lock_owner) == -1)
...