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
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?
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.