Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 229677 - libtool-1.5.26 fails to emerge in x86-linux prefix portage
Summary: libtool-1.5.26 fails to emerge in x86-linux prefix portage
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo non-Linux Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-27 06:16 UTC by Rabbe Fogelholm
Modified: 2008-06-30 06:13 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The script that has a syntax errror. (doman,1.33 KB, text/plain)
2008-06-27 20:57 UTC, Rabbe Fogelholm
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rabbe Fogelholm 2008-06-27 06:16:45 UTC
The `emerge --oneshot bash' command pulls in 17 packages. Number 15 out of the 17 is libtool, which fails to emerge (the failure is in the install step). From the console log:

Making install in tests
make[1]: Entering directory `/local/scratch/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
make[2]: Entering directory `/local/scratch/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/local/scratch/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
make[1]: Leaving directory `/local/scratch/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
/local/tmp/nightly/2008-06-27/usr/lib/portage/bin/doman: line 35: unexpected argument `(' to conditional binary operator
/local/tmp/nightly/2008-06-27/usr/lib/portage/bin/doman: line 35: syntax error near `(.'
/local/tmp/nightly/2008-06-27/usr/lib/portage/bin/doman: line 35: `		[[ $x =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]] ; then'
 * ERROR: sys-devel/libtool-1.5.26 failed:
 *   (no error message)
 * 
 * Call stack:
 *               ebuild.sh:  49: <call src_install>
 *             environment:2126:         doman ${x}.1 || die;
Comment 1 Fabian Groffen gentoo-dev 2008-06-27 06:22:44 UTC
did you bootstrap bash?
Comment 2 Fabian Groffen gentoo-dev 2008-06-27 06:23:31 UTC
and what is in the shebang of /local/tmp/nightly/2008-06-27/usr/lib/portage/bin/doman?
Comment 3 Rabbe Fogelholm 2008-06-27 20:54:32 UTC
The step that goes wrong is 1.8 of the bootstrapping (emerge --oneshot bash).

The script "doman" can be picked up from the unsuccessful prefix tree. A syntax error is reported when it is read with `bash -n', just like the console output says.
Comment 4 Rabbe Fogelholm 2008-06-27 20:57:18 UTC
Created attachment 158695 [details]
The script that has a syntax errror.

The script that has a syntax errror.
Comment 5 Fabian Groffen gentoo-dev 2008-06-28 13:22:17 UTC
that script uses a wrong bash.  Do you bootstrap bash to $EPREFIX/tmp ?
Comment 6 Rabbe Fogelholm 2008-06-28 15:09:04 UTC
No, I don't do something like `./bootstrap-prefix.sh $EPREFIX/tmp bash'.

It seems that the host bash has problems with the "doman" script indeed. The host bash identifies itself as

GNU bash, version 3.1.17(1)-release (i586-suse-linux)
Copyright (C) 2005 Free Software Foundation, Inc.


Comment 7 Fabian Groffen gentoo-dev 2008-06-28 15:16:58 UTC
see code listing 1.3 here: http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml

SuSE sucks per definition, but also we bootstrap bash for exactly this reason.
Comment 8 Elias Pipping 2008-06-28 21:37:31 UTC
hitting this as well. the shebang line is OK for me, though.

$ head -1 /home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman                                                                                                             
#!/home/bude/pipping/solaris_prefix/tmp/usr/bin/bash

pasting the exact error in a second, reproducing the error right now
Comment 9 Elias Pipping 2008-06-28 21:39:30 UTC
make[2]: Leaving directory `/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
make[1]: Leaving directory `/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26/tests'
sh: libtool: not found
help2man: can't get `--help' info from libtool
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: unexpected argument `(' to conditional binary operator
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: syntax error near `(.'
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: `         [[ $x =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]] ; then'
 * ERROR: sys-devel/libtool-1.5.26 failed:
 *   (no error message)
 * 
 * Call stack:
 *               ebuild.sh:  49: <call src_install>
 *             environment:2150:         doman ${x}.1 || die;
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * build log: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/temp/build.log'
 * ebuild environment: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/temp/environment'
 * S: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26'

 * Messages for package sys-devel/libtool-1.5.26:

 * ERROR: sys-devel/libtool-1.5.26 failed:
 *   (no error message)
 * 
 * Call stack:
 *               ebuild.sh:  49: <call src_install>
 *             environment:2150:         doman ${x}.1 || die;
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * build log: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/temp/build.log'
 * ebuild environment: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/temp/environment'
 * S: '/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-1.5.26/work/libtool-1.5.26'
Comment 10 Elias Pipping 2008-06-28 22:00:18 UTC
the problem's in the latest version as well

make[3]: Leaving directory `/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-2.2.4-r00.1/work/libtool-2.2.4'
make[2]: Leaving directory `/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-2.2.4-r00.1/work/libtool-2.2.4'
make[1]: Leaving directory `/home/bude/pipping/solaris_prefix/var/tmp/portage/sys-devel/libtool-2.2.4-r00.1/work/libtool-2.2.4'
sh: libtool: not found
help2man: can't get `--help' info from libtool
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: unexpected argument `(' to conditional binary operator
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: syntax error near `(.'
/home/bude/pipping/solaris_prefix/usr/lib/portage/bin/doman: line 35: `         [[ $x =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]] ; then'
Comment 11 Elias Pipping 2008-06-28 22:10:06 UTC
The problem boils down to

$ /home/bude/pipping/solaris_prefix/tmp/usr/bin/bash doman libtool                                                                                                                
doman: line 37: unexpected argument `(' to conditional binary operator
doman: line 37: syntax error near `(.'
doman: line 37: `               [[ $x =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]] ; then'
$ /home/bude/pipping/solaris_prefix/bin/bash doman libtool                                                                                                                        
libtool
doman: 'libtool' is probably not a man page; skipping

$ /home/bude/pipping/solaris_prefix/bin/bash --version                                                                                                                            
GNU bash, version 3.2.17(1)-release (sparc-sun-solaris2.10)
$ /home/bude/pipping/solaris_prefix/tmp/usr/bin/bash --version                                                                                                                    
GNU bash, version 3.2.0(1)-release (sparc-sun-solaris2.10)

So it's either one of those 17 patches or a gentoo-specific patch that the bash we bootstrapped is missing.
Comment 12 Elias Pipping 2008-06-28 22:20:42 UTC
As a workaround, I replaced the shebang line with the path to bash 3.2.17, resulting in

>>> sys-devel/libtool-1.5.26 merged.
Comment 13 Fabian Groffen gentoo-dev 2008-06-29 07:18:31 UTC
now the bug is valid, and pretty nasty...
Comment 14 Fabian Groffen gentoo-dev 2008-06-29 07:40:45 UTC
Ok, I fixed this by reverting the portage snapshot to the previous version (pre 10460) which did not require >=bash-3.2.17.  You'll need a refetch of the bootstrap-prefix.sh script.

Thanks!
Comment 15 Elias Pipping 2008-06-29 15:55:18 UTC
works for me now.
Comment 16 Rabbe Fogelholm 2008-06-30 06:13:19 UTC
Confirming: successful emerge on SUSE 10 now.