RPM Community Forums

Mailing List Message of <rpm-users>

Re: package foo-1.1.1.x86_64.rpm is intended for a x86_64 architecture

From: Marc MERLIN <marc_rpm@merlins.org>
Date: Wed 12 May 2010 - 23:44:38 CEST
Message-ID: <20100512214438.GD6064@merlins.org>
On Wed, May 12, 2010 at 04:15:27PM -0400, Jeff Johnson wrote:
> > muny20:/tmp# rpm -i biosflash-1.2-1.x86_64.rpm 
> > package biosflash-1.2-1 is intended for a x86_64 architecture
> 
> Hmmm ... there's --badarch if you jsut want the install to happen.
> 
> Otherwise one needs to run rpm --showrc and track the
> displayed information back into /usr/lib/rpm/rpmrc configuration
> and add/change the arch compatibility tables.
 
Indeed. Old:
eou15:/tmp# rpm --showrc | grep x86 
build arch            : x86_64
compatible build archs: x86_64
install arch          : x86_64
compatible archs      : x86_64 i686 i586 i486 i386 noarch
macrofiles            :
/usr/lib/rpm/macros:/usr/lib/rpm/x86_64-linux/macros:/etc/rpm/macros.specspo:/etc/rpm/macros.db1:/etc/rpm/macros:/etc/rpm/x86_64-linux/macros:~/.rpmmacros
-11: _target    x86_64-linux
-11= _target_cpu        x86_64
-14: ix86       i386 i486 i586 i686 i786 i886 i986

new:
muny20:/tmp#  rpm --showrc | grep x86 
-14: ix86       i386 i486 i586 i686 pentium3 pentium4 athlon
 
> diff the --showrc output (or the /usr/lib/rpm/rpmrc files).
 
I copied the old rpmrc over the new one and it doesn't work still, so the
compiled binaries are different indeed.

> > I did compile the new rpm binary with
> > ./configure --prefix=/usr --mandir=/usr/share/man --without-selinux  --build i386-gnu-linux

I recompiled rpm without --build i386-gnu-linux

and now it works:
muny20:/tmp# rpm --showrc |grep x86
-14: _arch      x86_64
-14: _build_arch        x86_64
-14: _host      x86_64-unknown-linux-gnu
-14: _host_cpu  x86_64
-14: ix86       i386 i486 i586 i686 pentium3 pentium4 athlon

so the bad arch was baked in the binary indeed. I suppose it was changeable
somewhere in rpmrc but I didn't quite find where since changing default
entries didn't fix that.

Thanks for the help.

Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems & security ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/  
Received on Wed May 12 23:45:02 2010
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.