Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jul 2002 21:40:31 +0200 (CEST)
From:      Stefan `Sec` Zehl <sec@ice.42.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        portmgr@FreeBSD.org
Subject:   ports/40857: autoconf port fails if shells/ksh93 is installed
Message-ID:  <20020721194031.45F7124B@ice.42.org>

next in thread | raw e-mail | index | archive | help

>Number:         40857
>Category:       ports
>Synopsis:       autoconf port fails if shells/ksh93 is installed
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 21 12:50:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Stefan `Sec` Zehl
>Release:        FreeBSD 4.6-STABLE i386
>Organization:
>Environment:
System: FreeBSD ice 4.6-STABLE FreeBSD 4.6-STABLE #16: Tue Jul 16 16:22:54 CEST 2002 root@ice:/usr/export/obj/usr/export/src/sys/ICE i386

The following port:

ksh93-20020317      Official AT&T release of KornShell 93                       

	
>Description:

NB: This is actually the same bug as ports/38696 (which I previously
submitted).  I have since debugged it some more. 

The configure script of autoconf-2.53 is broken, as it makes a wrong
assumption about shells.

As the standard FreeBSD /bin/sh does not support $LINENO, configure then
tries random shells to see if they do. The first that does is 
"/usr/local/bin/ksh" on my system.

configure then re-execs itself in ksh.

This ksh does search '.' when its PATH contains an invalid element. To
wit:

| ice:/usr/ports/devel/autoconf>/usr/local/bin/ksh
| $ cat conftest.sh
| #! /bin/sh
| echo got called
| exit 0
| $ ls -l conftest.sh
| -rwxr-xr-x  1 root  wheel  36 Jul 21 20:41 conftest.sh

| $ PATH=/bin
| $ conftest.sh
| /usr/local/bin/ksh: conftest.sh: not found
| $ PATH=foobar
| $ conftest.sh
| got called
| $ PATH=".;."
| $ conftest.sh
| got called

This makes the Test at line 90 go wrong and configure sets
PATH_SEPERATOR to ';' and later on fails trying to find programs:

| checking for perl... no
| configure: error: perl is not found
| ===>  Script "configure" failed unexpectedly.

	
>How-To-Repeat:

cd /usr/ports/shells/ksh93
make install clean 
cd /usr/ports/devel/autoconf
make

	
>Fix:

I have sent a bug report to <bug-autoconf@gnu.org>, but I expect fixes
to take quite long. A sensible workaround would be to set
CONFIG_SHELL=/bin/sh in the environment of ./configure.

This is also proposed by ports/39492

	


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020721194031.45F7124B>