ARM-32 builds not working on ARM-64 machine, again
Hello all, My ARM-64 server has been churning out ARM-32 builds happily for some time, until today (it worked fine as recently as last week.) The 32-bit builds are failing with "no compliant workers (constraints mismatch hint: hardware:cpu)", and osc checkconstraints shows that there are 0 armv7l workers (whereas our x86_64 machine is also providing the i586 workers.) However, osc workerinfo shows that the ARM-64 worker does not have the "nativeonly" tag which would exclude it from 32-bit builds. Our OBS server is pushing a hacked version of bs_worker which backports https://github.com/openSUSE/open-build-service/pull/10850. I've confirmed that this hacked bs_worker is still present in /usr/lib/obs/server, and that the worker has it in its /run/obs/worker/<num>/worker directory. Any ideas on why ARM-32 builds are suddenly not working? Kyle
On Donnerstag, 8. Juli 2021, 22:44:53 CEST Kyle Edwards wrote:
Hello all,
My ARM-64 server has been churning out ARM-32 builds happily for some time, until today (it worked fine as recently as last week.) The 32-bit builds are failing with "no compliant workers (constraints mismatch hint: hardware:cpu)", and osc checkconstraints shows that there are 0 armv7l workers (whereas our x86_64 machine is also providing the i586 workers.) However, osc workerinfo shows that the ARM-64 worker does not have the "nativeonly" tag which would exclude it from 32-bit builds.
Our OBS server is pushing a hacked version of bs_worker which backports https://github.com/openSUSE/open-build-service/pull/10850. I've confirmed that this hacked bs_worker is still present in /usr/lib/obs/server, and that the worker has it in its /run/obs/worker/<num>/worker directory. Any ideas on why ARM-32 builds are suddenly not working?
Are you building against distros from build.opensuse.org? We are currently fiddeling around there to support newer arm hardware where 32bit is only supported with 64bit kernels. It should not affect remote instances, but we made have not catched a setup. In any case, you need to check osc buildconfig $your_project $your_repo | grep hardware:cpu One of them can not be fullfilled. The Constraint: hardware:cpu:flag exclude=true EL0 line should not be active on your instance because of the if statement around it. -- Adrian Schroeter <adrian@suse.de> Build Infrastructure Project Manager SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany (HRB 247165, AG München), Geschäftsführer: Felix Imendörffer
On 7/9/21 2:34 AM, Adrian Schröter wrote:
Are you building against distros from build.opensuse.org? Yes.
In any case, you need to check
osc buildconfig $your_project $your_repo | grep hardware:cpu
One of them can not be fullfilled.
The
Constraint: hardware:cpu:flag exclude=true EL0
line should not be active on your instance because of the if statement around it.
osc buildconfig <project> <repo> | grep -C2 hardware:cpu shows the following: %ifarch armv7l armv7hl %if "0%{?_obs_feature_exclude_cpu_constraints}" Constraint: hardware:cpu:flag exclude=true EL0 %endif %endif -- %ifarch armv7l armv7hl %if "0%{?_obs_feature_exclude_cpu_constraints}" Constraint: hardware:cpu:flag exclude=true EL0 %endif %endif Kyle
On 7/12/21 10:03 AM, Olaf Hering wrote:
Order proper 64bit hardware.
We are using an Ampere eMAG, which is proper 64-bit hardware and has full support for 32-bit ARM. I had to backport this patch to get support for it: https://github.com/openSUSE/open-build-service/pull/10850 Kyle
On 7/12/21 10:08 AM, Kyle Edwards wrote:
On 7/12/21 10:03 AM, Olaf Hering wrote:
Order proper 64bit hardware.
We are using an Ampere eMAG, which is proper 64-bit hardware and has full support for 32-bit ARM. I had to backport this patch to get support for it: https://github.com/openSUSE/open-build-service/pull/10850
Ping? Kyle
Am Dienstag, dem 27.07.2021 um 13:12 -0400 schrieb Kyle Edwards:
On 7/12/21 10:08 AM, Kyle Edwards wrote:
On 7/12/21 10:03 AM, Olaf Hering wrote:
Order proper 64bit hardware.
We are using an Ampere eMAG, which is proper 64-bit hardware and has full support for 32-bit ARM. I had to backport this patch to get support for it: https://github.com/openSUSE/open-build-service/pull/10850
Ping?
Pong ;-) Thanks for your hint I`m preparing OBS 2.10.11 ATM (based on openSUSE 15.3) which will also include enhancements for ARM. Stay tuned Frank
participants (4)
-
Adrian Schröter
-
Frank Schreiner
-
Kyle Edwards
-
Olaf Hering