On Mon, Jan 25, 2021 at 4:54 PM наб <nabijaczlew...@nabijaczleweli.xyz> wrote:
> First, make a buildd-variant i386 sid chroot and install libfuse3-dev,
>   (sid-i386 fest)root@tarta:/# cat > a.c
>   #define FUSE_USE_VERSION 30
>   #include <fuse.h>
>   (sid-i386 fest)root@tarta:/# cc a.c -I/usr/include/fuse3
>   In file included from /usr/include/fuse3/fuse.h:19,
>                    from a.c:2:
>   /usr/include/fuse3/fuse_common.h:853:1: error: static assertion failed: 
> "fuse: off_t must be 64bit"
>     853 | _Static_assert(sizeof(off_t) == 8, "fuse: off_t must be 64bit");
>         | ^~~~~~~~~~~~~~
>   (sid-i386 fest)root@tarta:/#
>
> And likewise with __USE_FILE_OFFSET64 (which supposedly guards this,
> or so I gathered from skimming libc headers).
>
> This renders the package unusable.
It is known and as I know, upstream maintainer doesn't want to care
about this. As the assertion states it should be off64_t instead.
Anyway, the solution to ask for 64 bit off_t with: -D_FILE_OFFSET_BITS=64
Your example compiles (well, cc will bark about missing main()
function) with the following command line:
# cc a.c -I/usr/include/fuse3 -D_FILE_OFFSET_BITS=64
That is, the package is not broken, you have to use the needed compiler switch.

Hope this helps,
Laszlo/GCS

Reply via email to