Bug 1326312

Summary: Can't install rpm package with 64-bit kernel and 32-bit platform
Product: [Fedora] Fedora Reporter: Jae-young Hwang <j-zero.hwang>
Component: rpmAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 22CC: jzeleny, lkardos, novyjindrich, packaging-team-maint, pbrobinson, pknirsch, rdossant
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-15 12:34:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jae-young Hwang 2016-04-12 11:55:33 UTC
Description of problem: Error is occured when install 32-bit rpms


How reproducible:
set 64-bit kernel and 32-bit platform


Steps to Reproduce:
1. rpm -ivh XXX.rpm

Actual results:
[root@localhost ~]# rpm -ivh --force strace-4.11-1.fc23.armv7hl.rpm
Preparing...                          ################################# [100%]
        package strace-4.11-1.fc23.armv7hl is intended for a different architecture


Expected results:
Installing rpm


Additional info:
[root@localhost ~]# uname -a
Linux localhost 4.1.15+ #3 SMP PREEMPT Tue Apr 12 17:19:48 KST 2016 aarch64 aarch64 aarch64 GNU/Linux


after applying patch, working well
diff --git a/include/linux/uts.h b/include/linux/uts.h
index 6ddbd86..700daf7 100644
--- a/include/linux/uts.h
+++ b/include/linux/uts.h
@@ -16,4 +16,8 @@
 #define UTS_DOMAINNAME "(none)"        /* set by setdomainname() */
 #endif
 
+#ifndef UTS_MACHINE
+#define UTS_MACHINE "armv7l"
+#endif
+
 #endif

Comment 1 Ľuboš Kardoš 2016-04-15 12:15:45 UTC
This can be fixed in the rpmrc file by defining compatibility between aarch64 and armv7hl, by compatibility I mean that armv7hl (32bit) binary can run on aarch64 (64bit) system. But I am not sure that this is true.

Rafael can you confirm or disconfirm that 32 bit arm binary can run without problems on 64 bit arm system?

Comment 2 Peter Robinson 2016-04-15 12:34:24 UTC
This is not possible. ARMv7 and aarch64 are not compatible. You can not run a ARMv7 and aarch64 multilib environment. If you wish to run ARMv7 on aarch64 you need to run it as a ARMv7 VM on a KVM capable aarch64 host.