Status update: the previous pull request would create version
2.0.20+debian-2 but it only includes the fix for armhf. i386 needs to
be fixed as well
https://buildd.debian.org/status/logs.php?pkg=rshim-user-space&arch=i386
. I will make another merge request to include the fix for i386. -tai

On Mon, Apr 22, 2024 at 8:00 PM Taihsiang Ho (tai271828) <e...@tai271828.me> 
wrote:
>
> I created a pull request to fix the build issue. Please review
> https://salsa.debian.org/bluefield-team/rshim-user-space/-/merge_requests/11
> -tai
>
> On Tue, Feb 27, 2024 at 7:27 PM dann frazier <da...@dannf.org> wrote:
> >
> > 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