Source: rshim-user-space
Version: 2.0.12+debian-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)

The switch to fuse3 appears to have introduced a build issue for 32-bit
architectures such as armhf:

From 
https://buildd.debian.org/status/fetch.php?pkg=rshim-user-space&arch=armhf&ver=2.0.20%2Bdebian-1&stamp=1709056732&raw=0
 :

gcc -DHAVE_CONFIG_H -I. -I..  -Wall -DHAVE_RSHIM_NET -I/usr/include/libusb-1.0  
-DHAVE_RSHIM_USB -I/usr/include/arm-linux-gnueabihf  -DHAVE_RSHIM_PCIE 
-I/usr/include/fuse3  -DHAVE_RSHIM_FUSE -Wdate-time -D_FORTIFY_SOURCE=2 
-DFUSE_USE_VERSION=30 -DDEFAULT_RSHIM_CONFIG_FILE='"/etc/rshim.conf"'  -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security -c -o 
rshim-rshim_fuse.o `test -f 'rshim_fuse.c' || echo './'`rshim_fuse.c
In file included from /usr/include/fuse3/fuse_lowlevel.h:25,
                 from /usr/include/fuse3/cuse_lowlevel.h:19,
                 from rshim_fuse.c:23:
/usr/include/fuse3/fuse_common.h:928:1: error: static assertion failed: "fuse: 
off_t must be 64bit"
  928 | _Static_assert(sizeof(off_t) == 8, "fuse: off_t must be 64bit");
      | ^~~~~~~~~~~~~~
rshim_pcie.c: In function ‘rshim_pcie_mmap_vfio’:
rshim_pcie.c:52:37: warning: overflow in conversion from ‘long long unsigned 
int’ to ‘__off_t’ {aka ‘long int’} changes value from ‘7696581394436’ to ‘4’ 
[-Woverflow]
   52 | #define VFIO_GET_REGION_ADDR(x)     ((uint64_t) x << 40ULL)
      |                                     ^
rshim_pcie.c:634:18: note: in expansion of macro ‘VFIO_GET_REGION_ADDR’
  634 |                  VFIO_GET_REGION_ADDR(VFIO_PCI_CONFIG_REGION_INDEX) +
      |                  ^~~~~~~~~~~~~~~~~~~~
rshim_pcie.c:52:37: warning: overflow in conversion from ‘long long unsigned 
int’ to ‘__off_t’ {aka ‘long int’} changes value from ‘7696581394436’ to ‘4’ 
[-Woverflow]
   52 | #define VFIO_GET_REGION_ADDR(x)     ((uint64_t) x << 40ULL)
      |                                     ^
rshim_pcie.c:643:19: note: in expansion of macro ‘VFIO_GET_REGION_ADDR’
  643 |                   VFIO_GET_REGION_ADDR(VFIO_PCI_CONFIG_REGION_INDEX) +
      |                   ^~~~~~~~~~~~~~~~~~~~
rshim_fuse.c: In function ‘rshim_fuse_misc_read’:
rshim_fuse.c:713:36: warning: format ‘%ld’ expects argument of type ‘long int’, 
but argument 5 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=]
  713 |       n = snprintf(p, len, "%-16s%ld(s)\n", "UP_TIME", 
value/BF3_REF_CLK_IN_HZ);
      |                                  ~~^
      |                                    |
      |                                    long int
      |                                  %lld
rshim_fuse.c: In function ‘rshim_fuse_misc_write’:
rshim_fuse.c:954:25: warning: format ‘%lx’ expects argument of type ‘long 
unsigned int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned 
int *’} [-Wformat=]
  954 |     if (sscanf(p, " 0x%lx", &val64) != 1)
      |                       ~~^   ~~~~~~
      |                         |   |
      |                         |   uint64_t * {aka long long unsigned int *}
      |                         long unsigned int *
      |                       %llx
make[3]: *** [Makefile:524: rshim-rshim_fuse.o] Error 1


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.6.15-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to