Bug 772997

Summary: autoconf should install a config.site that favors lib64 on 64-bit machines
Product: Red Hat Enterprise Linux 6 Reporter: Eric Blake <eblake>
Component: autoconfAssignee: Pavel Raiskup <praiskup>
Status: CLOSED WONTFIX QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2CC: agruenba, s.egbert
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 772999 (view as bug list) Environment:
Last Closed: 2016-07-25 12:57:51 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:
Bug Depends On: 1196340    
Bug Blocks: 772999    

Description Eric Blake 2012-01-10 15:59:57 UTC
Description of problem:
Autoconf generates configure scripts which default to using /usr/lib when --prefix is /usr, according to the GNU Coding Standards.  But since RHEL prefers /usr/lib64 on 64-bit machines, that means _every single configure script_ has to use --libdir=/usr/lib64 when using --prefix=/usr.  Per the autoconf documentation, if RHEL would just install a config.site, then then this choice could be made _automatically_, saving users some hassle by picking the defaults appropriate for their choice of --prefix.

Version-Release number of selected component (if applicable):
autoconf-2.63-5.1.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1. For pretty much any autoconf-generated configure script, run './configure --prefix=/usr' and check what got chosen for $libdir.
2.
3.
  
Actual results:
Unless the package took special pains to inline some logic, libdir defaults to ${exec_prefix}/lib, rather than ${exec_prefix}/lib64 (with ${exec_prefix} defaulting to /usr).

Expected results:
On RHEL, --libdir should default to ${exec_prefix}/lib64, when --prefix is /usr, without the user having to remember this.

Additional info:
See the autoconf documentation: https://www.gnu.org/software/autoconf/manual/autoconf.html#Site-Defaults
Installing /usr/share/config.site with these contents is sufficient:

   # /usr/share/config.site for FHS defaults when installing below /usr,
   # and the respective settings were not changed on the command line.
   if test "$prefix" = /usr; then
     test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
     test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var
     test "$localstatedir" = '${prefix}/var' && localstatedir=/var
     test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64'
   fi

Such a file is not built by upstream autoconf, but logically belongs as a distro-specific add-on to the RHEL autoconf package.

Comment 3 Suzanne Logcher 2012-02-14 23:27:40 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 4 Karsten Hopp 2012-06-28 13:02:03 UTC
This doesn't apply to any RPM builds as rpm always runs configure with --libdir=%{_libdir}, so only local builds from tarballs or SCM checkouts will be affected by this.
This needs to be a arch specific /usr/share/config.site or 32bit builds that worked before will now suddenly fail as they would need --libdir=/usr/lib now.
But anyhow, it is any easy and straightforward fix.

Comment 5 RHEL Program Management 2012-07-10 08:29:49 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 6 RHEL Program Management 2012-07-10 23:05:21 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 7 RHEL Program Management 2012-09-07 05:34:11 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.

Comment 10 RHEL Program Management 2013-10-14 00:51:07 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.

Comment 11 Pavel Raiskup 2016-07-25 12:57:51 UTC
After several iterations in Fedora, I would consider Fedora's config.site file
safe to backport -- but I'm afraid it's been too late for RHEL6 for some time.

Feel free to clone this against RHEL7, but note that if we wanted to have this
fixed we need to cooperate the update with related fix for redhat-rpm-config
package (to avoid breaking RHEL package builds).

Comment 12 Egbert S. 2022-03-24 10:47:30 UTC
This is probably why many developers are moving away from CentOS.

Comment 13 Egbert S. 2022-03-24 11:19:53 UTC
A collection of cases for inserting Fedora’s config.site into CentOS distro. 

https://github.com/egberts/easy-admin/issues/1