Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Hi, On Wed, 19 Jun 2024 12:41:31 +0200 Michael Prokop wrote: ... Would be great to get hwinfo back into Debian/testing to make sure it finds its way into Debian/trixie also. Due to a long chain of dependencies (live-task-base, live-task-recommended, hw-probe, hwinfo, libx86emu), this bug report has an unexpected side effect. hw-probe has been remove from testing and that causes curl to be missing from the live images in testing, and therefore several openQA tests fail (because curl has always been available in these images). Can I be of assistance? With kind regards, Roland Clobus OpenPGP_signature.asc Description: OpenPGP digital signature
Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Hi! * John Paul Adrian Glaubitz [Tue Jun 11, 2024 at 02:18:33PM +0200]: > On Tue, 2024-06-11 at 13:42 +0200, Guillem Jover wrote: > > > 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 > > The attached patch implements this. It should not affect reverse build > > depending packages (only hwinfo) which is already arch restricted to > > «amd64 i386». > > > > I'm including the arm list to confirm the above, but also in case > > someone there feels like porting the library to support memory mapped > > I/O? (But perhaps that's not worth the effort.) > It's perfectly fine to disable libx86emu on ARM as it has already been > correctly stated, there are no I/O ports on ARM so the above code won't > work on ARM. > > I also don't expect that to change in the future, so it's not worth bothering > about this in the future, especially since the upstream project hasn't been > very active lately [1]. Thanks Guillem and Adrian. Would be great to get hwinfo back into Debian/testing to make sure it finds its way into Debian/trixie also. Sebastien, is there anything we can assist with to address this? regards -mika- signature.asc Description: PGP signature
Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Hi Guillem, On Tue, 2024-06-11 at 13:42 +0200, Guillem Jover wrote: > > 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 > > The attached patch implements this. It should not affect reverse build > depending packages (only hwinfo) which is already arch restricted to > «amd64 i386». > > I'm including the arm list to confirm the above, but also in case > someone there feels like porting the library to support memory mapped > I/O? (But perhaps that's not worth the effort.) It's perfectly fine to disable libx86emu on ARM as it has already been correctly stated, there are no I/O ports on ARM so the above code won't work on ARM. I also don't expect that to change in the future, so it's not worth bothering about this in the future, especially since the upstream project hasn't been very active lately [1]. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Control: tag -1 patch [ CCing debian-arm list to loop them into the porting issue. ] Hi! On Fri, 2024-06-07 at 14:42:18 +0200, Guillem Jover wrote: > 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=/<>=. -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 The attached patch implements this. It should not affect reverse build depending packages (only hwinfo) which is already arch restricted to «amd64 i386». I'm including the arm list to confirm the above, but also in case someone there feels like porting the library to support memory mapped I/O? (But perhaps that's not worth the effort.) Thanks, Guillem From bafb0ddee8942c60b17745547854b3ed53ca4545 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 11 Jun 2024 13:30:40 +0200 Subject: [PATCH] Do not build on ARM architectures where there is no port I/O 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 mapped I/O, the best way forward is to restrict to systems that are supported right now. (The only current package build depending on libx86emu-dev is already arch restricted to amd64 and i386.) --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index f10e3e2..e8c974b 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Homepage: https://github.com/wfeldt/libx86emu Rules-Requires-Root: no Package: libx86emu3 -Architecture: any-amd64 any-i386 alpha armel armhf ia64 +Architecture: any-amd64 any-i386 alpha ia64 Multi-Arch: same Depends: ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} @@ -23,7 +23,7 @@ Description: x86 emulation library This package contains the library. Package: libx86emu-dev -Architecture: any-amd64 any-i386 alpha armel armhf ia64 +Architecture: any-amd64 any-i386 alpha ia64 Multi-Arch: same Section: libdevel Depends: libx86emu3 (= ${binary:V
Processed: Re: Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
Processing control commands: > tag -1 patch Bug #1069498 [src:libx86emu] libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration] Added tag(s) patch. -- 1069498: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1069498 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
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=/<>=. -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
Bug#1069498: libx86emu: FTBFS on armhf: mem.c:581:12: error: implicit declaration of function ‘inb’; did you mean ‘ins’? [-Werror=implicit-function-declaration]
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 Hi, 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=/<>=. -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 The full build log is available from: http://qa-logs.debian.net/2024/04/20/libx86emu_3.5-1_unstable-armhf.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240420;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240420&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.