Bugzilla – Bug 1219627
RPM uses wrong target triple for armvX since switch to cmake
Last modified: 2024-02-16 16:11:39 UTC
Before RPM 4.19, the .spec file had %ifarch %arm BUILDTARGET="--build=%{_target_cpu}-suse-linux-gnueabi" %elifarch x86_64 %x86_64 BUILDTARGET="--build=x86_64-suse-linux" %else BUILDTARGET="--build=%{_target_cpu}-suse-linux" %endif This is now gone and I don't see a way to easily do that with cmake. The result is that for e.g. armv7hl, the host macros changed: Before: %_host armv7hl-suse-linux-gnueabi %_host_alias armv7hl-suse-linux-gnueabi%{nil} %_host_cpu armv7hl %_host_vendor suse %_host_os linux After: %_host armv7l-suse-linux %_host_alias armv7l-suse-linux%{nil} %_host_cpu armv7l %_host_vendor suse %_host_os linux This means that binaries built for armv7hl have the wrong %_host specified, whic h is also used in %configure to set --host.
The specfile contains %ifarch %arm -DRPMCANONGNU=-gnueabi \ %endif instead. I'm pretty sure I checked that this worked at some point in time.
(In reply to Michael Schröder from comment #1) > The specfile contains > %ifarch %arm > -DRPMCANONGNU=-gnueabi \ > %endif > > instead. I'm pretty sure I checked that this worked at some point in time. That part works, but it only changes %_gnu in /usr/lib/rpm/platform/*/macros.
Hmm, it worked for the %_gnu, but never for %_host. Fixing...
(In reply to Michael Schröder from comment #3) > Hmm, it worked for the %_gnu, but never for %_host. Fixing... Note that it's not the -gnueabi part that matters most here but the armv7l vs armv7hl.
This is an autogenerated message for OBS integration: This bug (1219627) was mentioned in https://build.opensuse.org/request/show/1144867 Factory / rpm
(In reply to OBSbugzilla Bot from comment #5) > This is an autogenerated message for OBS integration: > This bug (1219627) was mentioned in > https://build.opensuse.org/request/show/1144867 Factory / rpm Fixed.