Summary: | libtool-1.5.26 fails to emerge in x86-linux prefix portage | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Rabbe Fogelholm <rabbe> |
Component: | Prefix Support | Assignee: | Gentoo non-Linux Team <alt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | pipping |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | The script that has a syntax errror. |
Description
Rabbe Fogelholm
2008-06-27 06:16:45 UTC
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. |