Debian Bug report logs -
#921458
qemu-system-common: dependancy on gcc-s390x-linux-gnu fails on non-x86 hosts
Reported by: Alex Bennée <alex.bennee@linaro.org>
Date: Tue, 5 Feb 2019 19:15:01 UTC
Severity: wishlist
Tags: moreinfo, wontfix
Done: Alex Bennée <alex.bennee@linaro.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, alex.bennee@linaro.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package qemu-system-common.
(Tue, 05 Feb 2019 19:15:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Alex Bennée <alex.bennee@linaro.org>:
New Bug report received and forwarded. Copy sent to alex.bennee@linaro.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Tue, 05 Feb 2019 19:15:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: qemu-system-common
Version: 1:3.1+dfsg-2+b1
Severity: normal
Dear Maintainer,
This is a problem when running:
apt build-dep qemu
On a arm64 host. I also ran into other failures while trying:
apt build-dep -a arm64 qemu
On a multiarch setup. The root reason is that the s390 cross compiler
isn't packaged for all of debian's release architectures.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64, armhf
Kernel: Linux 4.19.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages qemu-system-common depends on:
ii adduser 3.118
ii libc6 2.28-5
ii libcap-ng0 0.7.9-2
ii libcap2 1:2.25-1.2
ii libglib2.0-0 2.58.2-3
qemu-system-common recommends no packages.
qemu-system-common suggests no packages.
-- no debconf information
--
Alex Bennée
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package qemu-system-common.
(Wed, 06 Feb 2019 08:30:06 GMT) (full text, mbox, link).
Acknowledgement sent
to Michael Tokarev <mjt@tls.msk.ru>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Wed, 06 Feb 2019 08:30:06 GMT) (full text, mbox, link).
Message #10 received at 921458@bugs.debian.org (full text, mbox, reply):
Control: reassign -1 src:qemu
Control: tag -1 + moreinfo
05.02.2019 22:12, Alex Bennée wrote:
> Package: qemu-system-common
> Version: 1:3.1+dfsg-2+b1
> Severity: normal
>
> Dear Maintainer,
>
> This is a problem when running:
>
> apt build-dep qemu
>
> On a arm64 host. I also ran into other failures while trying:
>
> apt build-dep -a arm64 qemu
>
> On a multiarch setup. The root reason is that the s390 cross compiler
> isn't packaged for all of debian's release architectures.
Hm. So how this should be done? Please note that gcc-s390x is only
listed in Build-Depends-Indep, not in Build-Depends, and the indep
target is really only buildable on x86 exactly _because_ cross-compilers
are not available on other architectures.
What should the dependencies look like?
Thanks,
/mjt
No longer marked as found in versions qemu/1:3.1+dfsg-2.
Request was from Michael Tokarev <mjt@tls.msk.ru>
to 921458-submit@bugs.debian.org.
(Wed, 06 Feb 2019 08:30:08 GMT) (full text, mbox, link).
Added tag(s) moreinfo.
Request was from Michael Tokarev <mjt@tls.msk.ru>
to 921458-submit@bugs.debian.org.
(Wed, 06 Feb 2019 08:30:08 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package src:qemu.
(Wed, 06 Feb 2019 11:03:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Alex Bennée <alex.bennee@linaro.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Wed, 06 Feb 2019 11:03:05 GMT) (full text, mbox, link).
Message #21 received at 921458@bugs.debian.org (full text, mbox, reply):
Michael Tokarev <mjt@tls.msk.ru> writes:
> Control: reassign -1 src:qemu
> Control: tag -1 + moreinfo
>
> 05.02.2019 22:12, Alex Bennée wrote:
>> Package: qemu-system-common
>> Version: 1:3.1+dfsg-2+b1
>> Severity: normal
>>
>> Dear Maintainer,
>>
>> This is a problem when running:
>>
>> apt build-dep qemu
>>
>> On a arm64 host. I also ran into other failures while trying:
>>
>> apt build-dep -a arm64 qemu
>>
>> On a multiarch setup. The root reason is that the s390 cross compiler
>> isn't packaged for all of debian's release architectures.
>
> Hm. So how this should be done? Please note that gcc-s390x is only
> listed in Build-Depends-Indep, not in Build-Depends, and the indep
> target is really only buildable on x86 exactly _because_
> cross-compilers
s/cross-compilers/some cross-compilers/
Most of the other architectures tend to at least have their 32 bit
cousins as well as x86 cross compilers available. However x86 currently
has the largest breadth of cross compiler support.
> are not available on other architectures.
Ideally I'd like to support more cross compilers on more host architectures.
However my attempts at getting all target binutils on arm have stalled
somewhat and I suspect it's too late for the buster release cycle.
> What should the dependencies look like?
I'm not sure - it does seem weird that we are treating what is in effect
an s390x architecture blob as architecture independent. I guess QEMU is
good at generating weird exception cases.
How did we ship s390x blobs on non-x86 release architectures before
this change?
>
> Thanks,
>
> /mjt
--
Alex Bennée
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package src:qemu.
(Wed, 06 Feb 2019 11:09:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Michael Tokarev <mjt@tls.msk.ru>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Wed, 06 Feb 2019 11:09:04 GMT) (full text, mbox, link).
Message #26 received at 921458@bugs.debian.org (full text, mbox, reply):
06.02.2019 13:58, Alex Bennée wrote:
[]
>> What should the dependencies look like?
>
> I'm not sure - it does seem weird that we are treating what is in effect
> an s390x architecture blob as architecture independent. I guess QEMU is
> good at generating weird exception cases.
Actually _all_ firmware blobs are shipped as indep packages. We don't want
to enable whole mips or arm or sparc or ppc multiarch on x86 just to install
or run qemu on host.
> How did we ship s390x blobs on non-x86 release architectures before
> this change?
For s390x we didn't, at all, there was a bug open for missing s390x fw,
users of qemu-system-s390x were getting firmware from upstream site.
For some other stuff, like qemu-specific x86 firmware (needed on all
arches as well, just like s390x or ppc blobs), we used an ugly hack
to embed sources for said firmware in other package's debian/foo.tar.gz
files. For yet another, we created separate package which builds
arch-all blobs (openbios, seabios, etc).
I really like to stop this mess, and now it is possible finally because
cross-compilers are available.
There was another way to deal with this - one package which qemu-team
maintains builds a cross-compiler from gcc source first and uses that
compiler to build actual firmware blobs. I don't think this is a good
solution.
I especially used build-depends-indep for all these cross-compilers,
in order for qemu arch-specific packages to remain buildable on non-
x86 architectures. Is this wrong somehow? If this is wrong, I think
we should bring this on some mailinglist, so that maybe multiarch
or cross-gcc people will share their opinion?
Thank you!
/mjt
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package src:qemu.
(Thu, 07 Feb 2019 18:51:12 GMT) (full text, mbox, link).
Acknowledgement sent
to Alex Bennée <alex.bennee@linaro.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Thu, 07 Feb 2019 18:51:12 GMT) (full text, mbox, link).
Message #31 received at 921458@bugs.debian.org (full text, mbox, reply):
Hi,
The following bug has come up and we would like some input from the
multiarch and cross developers on how best to handle this case.
In an ideal world all cross compilers would be available on all release
architectures but I think it will be a while before we get there. My own
efforts to get just all the cross binutils cleanly building on arm64
have stalled somewhat so in the meantime is there anything we can do to
keep build-dependencies working on all arches?
See bellow for more context:
Michael Tokarev <mjt@tls.msk.ru> writes:
> 06.02.2019 13:58, Alex Bennée wrote:
> []
>>> What should the dependencies look like?
>>
>> I'm not sure - it does seem weird that we are treating what is in effect
>> an s390x architecture blob as architecture independent. I guess QEMU is
>> good at generating weird exception cases.
>
> Actually _all_ firmware blobs are shipped as indep packages. We don't want
> to enable whole mips or arm or sparc or ppc multiarch on x86 just to install
> or run qemu on host.
>
>> How did we ship s390x blobs on non-x86 release architectures before
>> this change?
>
> For s390x we didn't, at all, there was a bug open for missing s390x fw,
> users of qemu-system-s390x were getting firmware from upstream site.
>
> For some other stuff, like qemu-specific x86 firmware (needed on all
> arches as well, just like s390x or ppc blobs), we used an ugly hack
> to embed sources for said firmware in other package's debian/foo.tar.gz
> files. For yet another, we created separate package which builds
> arch-all blobs (openbios, seabios, etc).
>
> I really like to stop this mess, and now it is possible finally because
> cross-compilers are available.
>
> There was another way to deal with this - one package which qemu-team
> maintains builds a cross-compiler from gcc source first and uses that
> compiler to build actual firmware blobs. I don't think this is a good
> solution.
>
> I especially used build-depends-indep for all these cross-compilers,
> in order for qemu arch-specific packages to remain buildable on non-
> x86 architectures. Is this wrong somehow? If this is wrong, I think
> we should bring this on some mailinglist, so that maybe multiarch
> or cross-gcc people will share their opinion?
>
> Thank you!
>
> /mjt
--
Alex Bennée
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package src:qemu.
(Thu, 07 Feb 2019 19:24:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Sam Hartman <hartmans@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Thu, 07 Feb 2019 19:24:04 GMT) (full text, mbox, link).
Message #36 received at 921458@bugs.debian.org (full text, mbox, reply):
>>>>> "Alex" == Alex Bennée <alex.bennee@linaro.org> writes:
Alex> Hi,
Alex> The following bug has come up and we would like some input
Alex> from the multiarch and cross developers on how best to handle
Alex> this case.
Alex> In an ideal world all cross compilers would be available on
Alex> all release architectures but I think it will be a while
Alex> before we get there. My own efforts to get just all the cross
Alex> binutils cleanly building on arm64 have stalled somewhat so in
Alex> the meantime is there anything we can do to keep
Alex> build-dependencies working on all arches?
Let me make sure I'm understanding the concern.
You want to build an arch: all firmware package so qemu can be used on
any host for a particular target.
In order to do that you need a compiler for the target, so you want that
target to be a build-depends-indep for the package building the
firmware.
As a result that firmware package will not be buildable on an arch that
is missing the cross compiler in question.
That seems inherent: if you need an arm compiler and m68k doesn't have
an arm compiler, you aren't going to be able to use m68k to build your
arm firmware.
Presumably since you're bringing up the issue something beyond that
breaks. Do you run into testing migration or other issues if a
build-depends-indep package is not available on all arches?
What exactly is going wrong?
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>:
Bug#921458; Package src:qemu.
(Wed, 13 Feb 2019 13:48:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Alex Bennée <alex.bennee@linaro.org>:
Extra info received and forwarded to list. Copy sent to Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>.
(Wed, 13 Feb 2019 13:48:03 GMT) (full text, mbox, link).
Message #41 received at 921458@bugs.debian.org (full text, mbox, reply):
Michael Tokarev <mjt@tls.msk.ru> writes:
> 06.02.2019 13:58, Alex Bennée wrote:
> []
>>> What should the dependencies look like?
As per:
From: Helmut Grohne <helmut@subdivi.de>
Subject: Re: [PATCH] binutils: enable s390x/ppc64el on arm64 hosts
Message-ID: <20190213051906.GA24514@alf.mars>
The workaround is to use:
apt-get build-dep --arch-only qemu
On non-x86 build machines to skip attempting to install only the
packages needed for this architectures build. There is further
background mentioned in the above email:
For more background on this matter, I recommend the rather longer thread
on the open policy bug about adding Build-Indep-Architecture (#846970).
That field is supposed to document which architecture you can build
architecture-independent packages on. This may sound backwards
initially, but you'll encounter a number of affected packages and the
field is supposed to at least document the status quo.
So I'm closing this bug.
--
Alex Bennée
Severity set to 'wishlist' from 'normal'
Request was from Alex Bennée <alex.bennee@linaro.org>
to control@bugs.debian.org.
(Wed, 13 Feb 2019 13:51:02 GMT) (full text, mbox, link).
Added tag(s) wontfix.
Request was from Alex Bennée <alex.bennee@linaro.org>
to control@bugs.debian.org.
(Wed, 13 Feb 2019 13:51:03 GMT) (full text, mbox, link).
Reply sent
to Alex Bennée <alex.bennee@linaro.org>:
You have taken responsibility.
(Wed, 13 Feb 2019 14:12:07 GMT) (full text, mbox, link).
Notification sent
to Alex Bennée <alex.bennee@linaro.org>:
Bug acknowledged by developer.
(Wed, 13 Feb 2019 14:12:07 GMT) (full text, mbox, link).
Message #50 received at 921458-done@bugs.debian.org (full text, mbox, reply):
This bug can now be closed as decent work around available.
--
Alex Bennée
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Thu, 14 Mar 2019 07:26:51 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Thu Nov 23 23:33:39 2023;
Machine Name:
bembo
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.