Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 239190

Summary: [Future EAPI] fix econf() --libdir inconsistency
Product: Portage Development Reporter: RB <aoz.syn>
Component: Enhancement/Feature RequestsAssignee: Package Manager Specification <pms>
Status: RESOLVED NEEDINFO    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=466732
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 174380, 466732, 468810    

Description RB 2008-09-30 20:03:49 UTC
Calls to econf() without specifying --libdir result in inconsistent behavior between arches that specify LIBDIR_${ABI} (e.g. amd64) and those that do not (e.g. x86).  Specifically, if a package defaults to installing in /$(get_libdir), one must specify "--libdir=/$(get_libdir)", otherwise the contents get installed in /usr/$(get_libdir) on amd64 and /$(get_libdir) on x86.

Thus far, I have been able to come up with three options, none of which seem palatable:
1.  Stop passing --libdir automatically: breaks non-multilib-aware packages
2.  Add LIBDIR_x86="lib" (or LIBDIR_default="lib") for x86 profiles: forces packages currently installing to /$(get_libdir) to specify --libdir
3.  Default CONF_PREFIX to "/" instead of "/usr": pollutes /$(get_libdir)

This has been in portage since at least 2.0.x, and possibly earlier; bug, meet feature.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-03-28 10:01:01 UTC
Could you point to a specific package?

Looking at the PMS, econf respects '--prefix' here (not sure why not --exec-prefix as well...). I'd say that should be 'good enough' to solve this -- request the packages that install to / specify --prefix explicitly.
Comment 2 RB 2013-03-28 17:40:26 UTC
Let me check, it's demonstrably been years since I poked at this.  I do know this was from when I was packaging things myself and had discussed this with someone on #g-portage who asked me to submit this bug.
Comment 3 RB 2013-05-07 01:42:55 UTC
Thanks to Anthony for finding these bugs, saves me having to spin back up and figure out where I had been (and what machine I was working on) 5 years ago.
Comment 4 Ulrich Müller gentoo-dev 2013-05-07 04:27:00 UTC
This is Algorithm 9 in PMS: http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-135002r9

I don't see why it would be inconsistent. If the ABI variable is set, then --libdir=${prefix}/${libdir} is passed to configure. ${prefix} is equal to ${EPREFIX}/usr unless the caller overrides it with --prefix.

If ABI is not set, then libdir should be the default, which according to GNU coding standards is $(exec_prefix)/lib. If the package uses something different then it should be fixed upstream.
Comment 5 Ulrich Müller gentoo-dev 2014-07-07 16:57:37 UTC
No progress. Closing.