>>> Completed installing autogen-5.11.1 into /home/dan/.gentoo/var/tmp/portage/sys-devel/autogen-5.11.1/image/home/dan/.gentoo/ strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment usr/lib/libopts.so.25.8.2 usr/bin/autogen usr/bin/xml2ag usr/bin/columns usr/bin/getdefs usr/lib/libopts.a ecompressdir: bzip2 -9 /home/dan/.gentoo/usr/share/man removing executable bit: home/dan/.gentoo/usr/lib/libopts.la * QA Notice: the following files use invalid (possible non-prefixed) shebangs: * home/dan/.gentoo/usr/bin/autoopts-config:/old-home/ROOT/usr/local/bin/bash (in PATH but target not found) * ERROR: sys-devel/autogen-5.11.1 failed: * Aborting due to QA concerns: invalid shebangs found * * Call stack: * misc-functions.sh, line 1563: Called install_qa_check * misc-functions.sh, line 96: Called install_qa_check_prefix * misc-functions.sh, line 731: Called die * The specific snippet of code: * die "Aborting due to QA concerns: invalid shebangs found" * * If you need support, post the output of 'emerge --info =sys-devel/autogen-5.11.1', * the complete build log and the output of 'emerge -pqv =sys-devel/autogen-5.11.1'. * The complete build log is located at '/home/dan/.gentoo/var/tmp/portage/sys-devel/autogen-5.11.1/temp/build.log'. * The ebuild environment file is located at '/home/dan/.gentoo/var/tmp/portage/sys-devel/autogen-5.11.1/temp/environment'. * S: '/home/dan/.gentoo/var/tmp/portage/sys-devel/autogen-5.11.1/work/autogen-5.11.1' $ head -n 1 $EPREFIX/usr/bin/autoopts-config #!/home/dan/.gentoo/bin/bash $ head -n 1 $EPREFIX/var/tmp/portage/sys-devel/autogen-5.11.1/image/$EPREFIX/usr/bin/autoopts-config #! /old-home/ROOT/usr/local/bin/bash
This is by design. Portage will automatically convert shebangs but you have old-home/ROOT/usr/local/bin/bash in your PATH before $EPREFIX/bin so it chooses that bash to use and then fails because it isn't in $EPREFIX Do you REALLY need /old-home/ROOT/usr/local/bin/bash in your PATH ahead of $EPREFIX/bin/bash?
If I recall correctly, the message actually means that the file being checked is in PATH (hence should have a valid interpreter), but the referenced interpreter isn't found. darkside can be right here, though
/old-home/ROOT/usr/local/bin isn't in my PATH, and /old-home doesn't exist on my system. $ grep -P \\bPATH= $EPREFIX/var/tmp/portage/sys-devel/autogen-5.11.1/temp/environment declare -x PATH="/home/dan/.gentoo/usr/lib/ccache/bin:/home/dan/.gentoo/usr/lib/portage/bin/ebuild-helpers:/home/dan/.gentoo/usr/sbin:/home/dan/.gentoo/usr/bin:/home/dan/.gentoo/sbin:/home/dan/.gentoo/bin:/home/dan/.gentoo/opt/bin:/home/dan/.gentoo/usr/i686-pc-linux-gnu/gcc-bin/4.2.4:/usr/bin:/bin" $ echo $PATH /home/dan/bin:/home/dan/.gentoo/usr/bin:/home/dan/.gentoo/bin:/home/dan/.gentoo/opt/bin:/home/dan/.gentoo/usr/sbin:/home/dan/.gentoo/sbin:/home/dan/.gentoo/usr/i686-pc-linux-gnu/gcc-bin/4.2.4:/home/dan/.gentoo/usr/games/bin:/usr/bin:/bin It looks like it comes with a broken shebang out-of-the-box, and new in version 5.11.1. $ ebuild $EPREFIX/usr/portage/sys-devel/autogen/autogen-5.11.1.ebuild clean unpack [...] $ cd $EPREFIX/var/tmp/portage/sys-devel/autogen-5.11.1/work/autogen-5.11.1 $ grep -rF old-home * agen5/opts.h:/* extracted from /old-home/bkorb/ag/ag/autoopts/opthead.tpl near line 408 */ agen5/opts.c:/* extracted from /old-home/bkorb/ag/ag/autoopts/optcode.tpl near line 493 */ agen5/opts.c:/* extracted from /old-home/bkorb/ag/ag/autoopts/optmain.tpl near line 890 */ agen5/opts.c:/* extracted from /old-home/bkorb/ag/ag/autoopts/optcode.tpl near line 625 */ autoopts/test/defs.in:vgopts='--suppressions=/old-home/bkorb/ag/valgrind.conf --leak-check=yes' autoopts/autoopts-config.in:#! /old-home/ROOT/usr/local/bin/bash autoopts/mk-autoopts-pc.in:#! /old-home/ROOT/usr/local/bin/bash columns/opts.h:/* extracted from /old-home/bkorb/ag/ag/autoopts/opthead.tpl near line 408 */ columns/opts.c:/* extracted from /old-home/bkorb/ag/ag/autoopts/optcode.tpl near line 493 */ columns/opts.c:/* extracted from /old-home/bkorb/ag/ag/autoopts/optcode.tpl near line 625 */ config/bootstrap.shlib: # vgopts='--suppressions=/old-home/bkorb/ag/valgrind.conf --leak-check=yes' doc/autogen.info-2: - reading file /old-home/bkorb/ag/ag/doc/.default_testrc doc/autogen.info-2: # DO NOT EDIT THIS SECTION OF /old-home/bkorb/ag/ag/doc/ag-texi-2047.d/.ag-Pl1V46/genshellopt.sh doc/autogen.info-2: - reading file /old-home/bkorb/ag/ag/columns/.columnsrc doc/autogen.info-1: - reading file /old-home/bkorb/ag/ag/agen5/.autogenrc $ ebuild $EPREFIX/usr/portage/sys-devel/autogen/autogen-5.10.2.ebuild clean unpack [...] $ cd $EPREFIX/var/tmp/portage/sys-devel/autogen-5.10.2/work/autogen-5.10.2/autoopts $ head -n 1 autoopts-config.in mk-autoopts-pc.in ==> autoopts-config.in <== #! /bin/bash ==> mk-autoopts-pc.in <== #! /bin/bash Perhaps this is something for upstream to fix? It's surprising this didn't hold up the stabilisation of =sys-devel/autogen-5.11.1 (see bug 335703).
That "shebang" is supposed to be configured to be CONFIG_SHELL. In my case, that is from /usr/local/bin which gets symlinked off to /old-home/ROOT/... where re-installs won't bother things. :) Based on the description: > $ head -n 1 $EPREFIX/usr/bin/autoopts-config > #!/home/dan/.gentoo/bin/bash it looks like the config shell is in someone's home directory. /home/dan/.gentoo/bin should probably not be in a PATH used to make an official build.
Dan, Sorry for questioning you. It is a wierd error that only pops up if people have invalid PATHs. (In reply to comment #4) > That "shebang" is supposed to be configured to be CONFIG_SHELL. > In my case, that is from /usr/local/bin which gets symlinked > off to /old-home/ROOT/... where re-installs won't bother things. :) Thanks for the enlightenment. I just found the info in the INSTALL file too :) > it looks like the config shell is in someone's home directory. > /home/dan/.gentoo/bin should probably not be in a PATH used > to make an official build. > It actually could be anywhere for Gentoo Prefix. --- @toolchain: This is a problem for Gentoo Linux too: %% pwd /var/tmp/portage/sys-devel/autogen-5.11.1/image/usr/bin %% head -n1 * ==> autogen <== ELF>0r@@??@8 ==> autoopts-config <== #! /old-home/ROOT/usr/local/bin/bash ==> columns <== ELF>?@@K@8 ==> getdefs <== ELF> @@?}@8 ==> xml2ag <== ELF>@@@?^@8 Please fix sys-devel/autogen for Gentoo Linux & Gentoo Prefix by exporting CONFIG_SHELL, which will work for ~arch portage (bug 308835). This version of autogen can't go stable until portage 2.1.9 goes stable though after that fix is made.
(In reply to comment #5) > Please fix sys-devel/autogen for Gentoo Linux & Gentoo Prefix by exporting > CONFIG_SHELL, which will work for ~arch portage (bug 308835). This version of I should add, this is in theory. I did not test it.
your PATH and CONFIG_SHELL have no meaning. read the source file as it appears in the tarball: $ head -n1 autoopts/autoopts-config.in #! /old-home/ROOT/usr/local/bin/bash
(In reply to comment #7) > your PATH and CONFIG_SHELL have no meaning. read the source file as it appears > in the tarball: > $ head -n1 autoopts/autoopts-config.in > #! /old-home/ROOT/usr/local/bin/bash > I did. I also assumed that comment #4 was correct because he is listed as the upstream maintainer ;) (In reply to comment #4) > That "shebang" is supposed to be configured to be CONFIG_SHELL.
considering autoopts-config.in is included in the dist tarball and not regenerated during `./configure && make`, this would indicate a bug in autogen itself -- either in the `autogen` step or the dist steps. if the shebang is supposed to be CONFIG_SHELL, then the .in file should read: #! @CONFIG_SHELL@ that way config.status can do its job and replace it
(In reply to comment #9) > if the shebang is supposed to be CONFIG_SHELL, then the .in file should read: Clearly, I was off in the weeds somewhere. I'll get to it as soon as I can. A GSOC student just added a number of template files to dramatically improve the quality of generated documents; so I will go learn how to make a GIT branch from an old tag. The sources are a tad unstable right now. I separated template from other sources.
fixed with upstream's 5.11.3