Red Hat Bugzilla – Bug 190358
rpmbuild on EMT64 systems uses incorrect macros
Last modified: 2007-11-30 17:11:31 EST
Description of problem:
A default install of FC5 on ia32e (ie the latest P4's in x86_64 mode) correctly
sets a platform (ia32e-redhat-linux) in /etc/rpm/platform that rpmbuild doesn't
know about meaning that any packages built using rpmbuild have incorrect paths
(eg _lib is set to lib not lib64) due to macro files not being found.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install FC5 on a P4 in x86_64 mode
2. run rpmbuild --showrc
-14: _lib lib
-14: _lib lib64
This can be fixed by either setting the arch in /etc/rpm/platform to x86_64 or
symlinking /usr/lib/rpm/ia32e-linux to /usr/lib/rpm/x86_64-linux
Neither of these options is well documented meaning that a newly installed EMT64
system can not be used to produce rpms that work on that system. There has
already been 1 bug (159684) opened for this against RHEL4 which was closed with
a WONTFIX, however I think these options should at least be noted somewhere and
it would be prefable that a default install produced a system that can actaully
be used to build working packages for that system.
Anaconda writes /etc/rpm/platform, so anaconda gets to write the value for EMT64 correctly.
This seems to be an oversight in rpm installplatform we just need an x86_64
SUBSTS line for the compat archs something like:
x86_64|amd64|ia32e) SUBSTS='s|x86_64|x86_64| s|x86_64|ia32e| s|x86_64|amd64|' ;;
AFAIK the name of the platform is "x86_64", not "ia32e", not "EMT64", not anything else.
Creating Yet Another Alias is not needed for engineering reasons, nor is distinguishing
Yet Another Arch likely to be useful for any known purpose.
But feel free to have at if you want, "EMT64" is just another string that needs to compare
correctly with existing uses of arch strings.