Bug 160572

Summary: %configure macro uses libdir of /usr/lib64 for target i386
Product: [Fedora] Fedora Reporter: Need Real Name <bgallia>
Component: rpmAssignee: Paul Nasrat <nobody+pnasrat>
Status: CLOSED DUPLICATE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: braden, n3npq, tomek
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-04-10 19:22:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2005-06-15 20:48:25 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.8) Gecko/20050524 Fedora/1.0.4-4 Firefox/1.0.4

Description of problem:
When using "rpmbuild --target i386" on a spec file which uses the %configure macro, the macro expands on the x86_64 to pass ./configure an argument of "--libdir=/usr/lib64"  When the target platform is any 32 bit arch (i386, i586, i686, athlon, etc.) then the libdir should be set to /usr/lib

Version-Release number of selected component (if applicable):
rpm-devel-4.4.1-21

How reproducible:
Always

Steps to Reproduce:
1.Install FC4 x86_64
2.Take any spec file which uses the %configure macro in the %build section
3.Run rpmbuild --target i386 against the spec file and then watch for what the macro expands to
  

Actual Results:  ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info

Expected Results:   ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info

Additional info:

Comment 1 Jeff Johnson 2005-09-29 19:53:16 UTC
This is a cross compilation problem. Redefine %configure to taste, the default value for %configure is 
unlikely to make you happy.

Comment 2 David Woodhouse 2007-04-10 19:19:02 UTC
Bug still exists. %_libdir is set according to the contents of /etc/rpm/platform
not --target argument.

Comment 3 David Woodhouse 2007-04-10 19:22:52 UTC
OTOH bug 233145 has a supposedly fixed package, so closing as a dupe of that
even though it's newer.

*** This bug has been marked as a duplicate of 233145 ***