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:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 08 03:05:06 +0000 2006
>Closed-Date:    
>Last-Modified:  Sun Jun 19 07:21:21 +0000 2011
>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


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.