Hi! On Sat, 2024-04-20 at 14:56:40 +0200, Lucas Nussbaum wrote: > Source: libx86emu > Version: 3.5-1 > Severity: serious > Justification: FTBFS > Tags: trixie sid ftbfs > User: lu...@debian.org > Usertags: ftbfs-20240420 ftbfs-trixie ftbfs-t64-armhf
> During a rebuild of all packages in sid, your package failed to build > on armhf. > > > Relevant part (hopefully): > > cc -g -O2 -Werror=implicit-function-declaration > > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > > -fstack-clash-protection -Wformat -Werror=format-security -g -O2 -fPIC > > -fvisibility=hidden -fomit-frame-pointer -Wall -D_LARGEFILE_SOURCE > > -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 > > -Wl,-z,relro -Wl,-z,now -c ops.c > > mem.c: In function ‘vm_i_byte’: > > mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean > > ‘ins’? [-Werror=implicit-function-declaration] > > 581 | return inb(addr); > > | ^~~ > > | ins > > mem.c: In function ‘vm_i_word’: > > mem.c:619:10: error: implicit declaration of function ‘inw’; did you mean > > ‘ins’? [-Werror=implicit-function-declaration] > > 619 | return inw(addr); > > | ^~~ > > | ins > > mem.c: In function ‘vm_i_dword’: > > mem.c:657:10: error: implicit declaration of function ‘inl’; did you mean > > ‘ins’? [-Werror=implicit-function-declaration] > > 657 | return inl(addr); > > | ^~~ > > | ins > > mem.c: In function ‘vm_o_byte’: > > mem.c:676:5: error: implicit declaration of function ‘outb’; did you mean > > ‘outs’? [-Werror=implicit-function-declaration] > > 676 | outb(val, addr); > > | ^~~~ > > | outs > > mem.c: In function ‘vm_o_word’: > > mem.c:711:3: error: implicit declaration of function ‘outw’; did you mean > > ‘outs’? [-Werror=implicit-function-declaration] > > 711 | outw(val, addr); > > | ^~~~ > > | outs > > mem.c: In function ‘vm_o_dword’: > > mem.c:748:3: error: implicit declaration of function ‘outl’; did you mean > > ‘outs’? [-Werror=implicit-function-declaration] > > 748 | outl(val, addr); > > | ^~~~ > > | outs > > cc1: some warnings being treated as errors > > make[1]: *** [Makefile:22: mem.o] Error 1 I had a look at this, and it seems like this package has never really worked on ARM systems at all? And this was hidden due to the missing declarations not being an error. AFAIK, only x86 (i386 and amd64), ia64 and alpha have port I/O, other systems have instead memory mapped I/O, but the code in mem.c is unconditionally calling port I/O functions such as in*() and out*(), provided by glibc. Until the upstream code is ported to systems with memory mapper I/O, I think the "best" way to resolve this would be to restrict the architecture list to: any-amd64 any-i386 alpha ia64 Thanks, Guillem