NetBSD Problem Report #35013
From kre@munnari.OZ.AU Wed Nov 8 03:02:16 2006
Return-Path: <kre@munnari.OZ.AU>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 5926063B9FB
for <gnats-bugs@gnats.NetBSD.org>; Wed, 8 Nov 2006 03:02:16 +0000 (UTC)
Message-Id: <200611080301.kA831gMf017765@jade.coe.psu.ac.th>
Date: Wed, 8 Nov 2006 10:01:42 +0700 (ICT)
From: kre@munnari.OZ.AU
To: gnats-bugs@NetBSD.org
Subject: devel/autogen has undeclared dependency upon bash
X-Send-Pr-Version: 3.95
>Number: 35013
>Category: pkg
>Synopsis: devel/autogen has undeclared dependency upon bash
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kristerw
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Nov 08 03:05:06 +0000 2006
>Closed-Date: Fri May 12 22:01:18 +0000 2023
>Last-Modified: Fri May 12 22:01:18 +0000 2023
>Originator: Robert Elz
>Release: NetBSD 3.99.15 (pkgsrc current as of past 6 hours or so)
>Organization:
Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 3.99.15 NetBSD 3.99.15 (GENERIC-1.696-20060125) #8: Wed Jan 25 04:59:39 ICT 2006 kre@jade.coe.psu.ac.th:/usr/obj/current/kernels/JADE_ASUS i386
Architecture: i386
Machine: i386
>Description:
building devel/autogen attempts to execute /usr/pkg/bin/bash
for which no dependency is listed.
>How-To-Repeat:
pkg_delete -r bash 2>/dev/null # No, you probably shouldn't...
cd ..../pkgsrc/devel.autogen
make install
Expect to see ...
gmake[2]: Entering directory `/pkg_comp/obj/pkgsrc/devel/autogen/default/autogen-5.8.3/xml2ag'
top_builddir=.. top_srcdir=.. PATH=`cd ../columns;pwd`:$PATH ; export top_builddir top_srcdir PATH ; /pkg_comp/obj/pkgsrc/devel/autogen/default/autogen-5.8.3/agen5/autogen -L../autoopts --definition=./xmlopts.def
Could not execvp( '/usr/pkg/bin/bash', ... ): 2 - No such file or directory
Closing server: Broken pipe signal (13) received
Last command issued:
cd /pkg_comp/obj/pkgsrc/devel/autogen/default/autogen-5.8.3/xml2ag
followed by a nunch of other errors, most probably caused by the
script bash was intended to run not doing what it was intended to
do.
>Fix:
Ideally, discover that hash is not really needed for the script
in question, and replace "usr/pkg/bin/bash" by "${SHELL}" or
something. Otherswise, if bash really is needed then
add a dependency.
The easy workaround is just to install shells/bash before
building autogen (manually satisfying the dependency).
That works, but ...
Please bupm PKGREVISION when this is fixed, otherwise there
will be binary packages existing that happen to have worked
because bash was installed (including mine, that I generated to
test the "manually add bash" workaround) but which don't
contain any dependency upon bash (for all I know, there may be
run time dependencies upon it, as well as the build time one
noted above).
>Release-Note:
>Audit-Trail:
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/35013: devel/autogen has undeclared dependency upon bash
Date: Wed, 08 Nov 2006 10:47:43 +0700
I should have said in this PR, that my (normal) working shell is
/usr/pkg/bin/bash, and that's what ${SHELL} in my environment is
set to, so another explanation for the expectation for that
shell to exist is that it was simply expecting ${SHELL} from the
environment to work (and what's more, to be a sh(1) compatible
shell, which I know of no particularly good reason it should necessarily
be).
This added just for completeness, I don't know if it is relevant or not
(bash was not installed when I first did the build, as I use pkg_comp
with a mostly empty sandbox for most compiles).
Responsible-Changed-From-To: pkg-manager->kristerw
Responsible-Changed-By: wiz@netbsd.org
Responsible-Changed-When: Fri, 17 Nov 2006 21:21:19 +0000
Responsible-Changed-Why:
Over to maintainer.
State-Changed-From-To: open->feedback
State-Changed-By: shattered@NetBSD.org
State-Changed-When: Thu, 03 Mar 2011 21:02:40 +0000
State-Changed-Why:
gnu-configure.mk sets CONFIG_SHELL before invoking configure; thus, nonexistent $SHELL should never happen now.
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/35013 (devel/autogen has undeclared dependency upon bash)
Date: Mon, 07 Mar 2011 16:30:34 +0700
Date: Thu, 3 Mar 2011 21:02:41 +0000 (UTC)
From: shattered@NetBSD.org
Message-ID: <20110303210241.B5CF563B84D@www.NetBSD.org>
| gnu-configure.mk sets CONFIG_SHELL before invoking configure;
| thus, nonexistent $SHELL should never happen now.
It isn't the config stage that is the problem, which still exists.
It is a bit difficult for me to test easily any more, as I now have
my build procedure set up to always simply set SHELL to /bin/sh before
attempting to build anything, but I did the build in a slightly abnormal
way for me (still using pkg_comp so it builds in an almost empty sandbox)
and I still get errors as shown below.
Since setting SHELL=/bin/sh in the environment avoids this, it is clearly
a problem caused by having SHELL in the environment set to something that
doesn't exist (you could probably reproduce the same thing by building
with SHELL=/nonexistant/garbage - though you'd have to get the Makefiles
to work that way I guess).
kre
ps: here's the end of the build log of a build of devel/autogen I just
attempted, where SHELL remained set to my login value of /usr/pkg/bin/bash
when I started the build. The relevant line is the "Could not execvp..."
near the top of the log fragment.
Making all in xml2ag
gmake[2]: Entering directory `/pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5/xml2ag'
top_builddir=.. top_srcdir=.. PATH=`cd ../columns;pwd`:$PATH ; export top_builddir top_srcdir PATH ; /pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5/agen5/autogen -L../autoopts --definition=./xmlopts.def
Could not execvp( '/usr/pkg/bin/bash', ... ): 2 - No such file or directory
fs err 4 (Interrupted system call) reading from server shell
Closing server: Broken pipe signal (13) received
Last command issued:
cd /pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5/xml2ag
if test ! -d "${top_srcdir}"; then
echo "NOTICE: Setting top_srcdir to .." >&2
top_srcdir=..
fi
test -f ${top_srcdir}/VERSION || die "error ${top_srcdir}/VERSION file missing"
eval `egrep '^AG_[A-Z_]*=' ${top_srcdir}/VERSION` 2> /dev/null
echo $AG_VERSION
echo
echo ShElL-OuTpUt-HaS-bEeN-cOmPlEtEd - 2
CLOSING SHELL SERVER - command failure:
if test ! -d "${top_srcdir}"; then
echo "NOTICE: Setting top_srcdir to .." >&2
top_srcdir=..
fi
test -f ${top_srcdir}/VERSION || die "error ${top_srcdir}/VERSION file missing"
eval `egrep '^AG_[A-Z_]*=' ${top_srcdir}/VERSION` 2> /dev/null
echo $AG_VERSION
FSM Error: in state 6 (need_value), event 8 (;) is invalid
invalid transition: in /pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5/agen5/opts.def on line 63
token in error: `;'
[[...<error-text>]]
#ifndef XML2AG
include = <<- _END_INCLUDE
#include "autogen.
Likely causes: a mismatched quote, a value that needs quoting,
or a missing semi-colon
gmake[2]: *** [xmlopts.h] Error 1
gmake[2]: Leaving directory `/pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5/xml2ag'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/pkg_comp/obj/pkgsrc/devel/autogen/4x/autogen-5.9.5'
gmake: *** [all] Error 2
*** Error code 2
Stop.
make: stopped in /usr/pkgsrc/devel/autogen
*** Error code 1
Stop.
State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 19 Jun 2011 07:21:21 +0000
State-Changed-Why:
feedback received in march
State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Fri, 12 May 2023 22:01:18 +0000
State-Changed-Why:
autogen has depended on bash since 2016
>Unformatted:
(Contact us)
$NetBSD: gnats-precook-prs,v 1.4 2018/12/21 14:20:20 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.