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

Bug 71589

Summary: sys-devel/gdb-6.0 (x86) build broken; make all in readline doesn't build libreadline.a
Product: Gentoo Linux Reporter: Yaakov S <yselkowitz>
Component: [OLD] UnspecifiedAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED INVALID    
Severity: major    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Yaakov S 2004-11-17 13:03:32 UTC
emerge gdb defaults to sys-devel/gdb-6.0 on x86.  emerging gdb exited during the make process in gdb-6.0/gdb (not verbatim):
No rule to make '../lib/libreadline.a', needed for gdb.  Stop.

The problem is that running 'make all' in gdb-6.0/readline (which make does enter before gdb-6.0/gdb) does nothing (Nothing to do for 'all'); you have to specify make libreadline.a, or add libreadline.a to the all rule.


Reproducible: Always
Steps to Reproduce:
1.(on x86) emerge sys-devel/gdb-6.0

Actual Results:  
1. configure and make go until gdb-6.0/gdb and makes libgdb.a (?) there
2. next target is gdb, then make exits with error:  No rule to make
../lib/libreadline.a.  Stop.
3. emerge exits with error

Expected Results:  
The easiest solution is to add libreadline.a to the all: target in gdb-6.0/readline
Comment 1 SpanKY gentoo-dev 2004-11-19 23:03:40 UTC
do you have a libreadline.a in your /usr/lib/ ?
Comment 2 Yaakov S 2004-11-21 20:11:57 UTC
Yes, /usr/lib/libreadline.a is present on my system.
Comment 3 SpanKY gentoo-dev 2005-02-22 19:53:00 UTC
any newer gdb's automagically resolve this ?
Comment 4 Yaakov S 2005-02-22 22:29:04 UTC
After revisiting this, it's a problem with EXTRA_ECONF="--disable-static", which seems to cause libreadline not to build at all.

See #72186, where net-nds/openldap had a similar problem.  The solution is to add --enable-static to the econf arguments, which are passed to configure after EXTRA_ECONF, and hence supersede them.  I also mentioned some precedence for this.

FWIW I tried this with several other versions with the same result.
Comment 5 SpanKY gentoo-dev 2005-02-22 22:38:34 UTC
EXTRA_ECONF exists for your sake to tweak things ... in the future, it should be moved after "$@" thus allows it to override everything passed from the ebuild
Comment 6 Yaakov S 2005-02-22 23:48:43 UTC
This isn't a problem with EXTRA_ECONF, but a bug with gdb packaging.  It accepts an argument to configure that doesn't work.  I use EXTRA_ECONF="--disable-shared" all the time, with very few difficulties.  If a package is libtooled, it accepts it and works, if it's autoconf but no libtool it just ignores it.

In those few times that emerge fails because of it, it's a flaw in the package which would otherwise go unnoticed.  There are other such packages which I haven't taken the time to investigate the exact cause and solution, and so haven't filed bugs for yet.

If you disagree, what is the reasoning of the other packages that I mentioned in bug 72186, among others, that specifically add --enable-shared --enable-static to econf?