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;
did you bootstrap bash?
and what is in the shebang of /local/tmp/nightly/2008-06-27/usr/lib/portage/bin/doman?
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.
Created attachment 158695 [details] The script that has a syntax errror. The script that has a syntax errror.
that script uses a wrong bash. Do you bootstrap bash to $EPREFIX/tmp ?
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.
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.
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
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'
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'
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.
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.
now the bug is valid, and pretty nasty...
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!
works for me now.
Confirming: successful emerge on SUSE 10 now.