tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bmake's shell is always /bin/sh?

From: Ryo ONODERA <>, Date: Sun, 09 Feb 2014 
19:53:05 +0900 (JST)

> Hi,
> How to change the shell invoked from bmake?
> I am working on bootstrapping pkgsrc under Xinuos SCO OpenServer 5.0.7/3.2.
> /bin/sh of this OS is broken and bmake tests cannot start.
> And it seems that its /bin/sh cannot handle return value of command correctly,
> and I cannot set the output of "uname -s" to bmake variable. So bypassing
> bmake test is not available.
> /bin/sh is symlink to /opt/K/SCO/Unix/5.0.7Hw/bin/sh, if this symlink is
> changed to ksh (/opt/K/SCO/Unix/5.0.7Hw/bin/ksh), all bmake tests passed.
> Of course bmake needs some patches, they are attached. And I believe
> the patches are not related to this problem.
> I am using the following command,
> $ PATH=$HOME/tools2/bin:$PATH SH=/bin/ksh ./bootstrap --workdir /tmp/bs 
> --unprivileged
> In $HOME/tools2, I have gcc-2.95.3pl4 (released by Caldera, built by me) and
> binutils-2.14.0.
> I have specified SH=/bin/ksh as bootstrap shell, but the shell is not
> used for bmake tests.
> I have checked the following things.
> (1) Run SH=/bin/ksh ./bootstrap ... fails
> (2) Invoke SH=(non-/bin/sh) ./bootstrap from bash-3.1 (in OpenServer base) 
> ... fails
> (3) Invoke SH=(non-/bin/sh) ./bootstrap from bash-4.2 (it is built by me) ... 
> fails
> (4) change login shell to /bin/ksh, bash-3.1, and bash-4.2 ... all fail
> (5) replace /bin/sh with /bin/ksh ... success
> How to change the shell invoked from bmake from /bin/sh?
> If I can change the shell invoked from bmake to /bin/ksh,
> bootstrapping pkgsrc's bmake part may be finished.

Sorry, I have forgotten to include the error messages.

gcc -c -g -I. -I/tmp/bs/bmake -DHAVE_CONFIG_H -I/tmp/bs/bmake/missing 
gcc -c -g -I. -I/tmp/bs/bmake -DHAVE_CONFIG_H -I/tmp/bs/bmake/missing 
gcc -c -g -I. -I/tmp/bs/bmake -DHAVE_CONFIG_H -I/tmp/bs/bmake/missing 
gcc -c -g -I. -I/tmp/bs/bmake -DHAVE_CONFIG_H -I/tmp/bs/bmake/missing 
-DNEED_HOST_CDEFS_H -DMAKE_NATIVE -DUSE_META -o meta.o /tmp/bs/bmake/meta.c
gcc -o bmake main.o meta.o arch.o buf.o compat.o cond.o dir.o for.o getopt.o 
hash.o job.o make.o make_malloc.o parse.o sigcompat.o str.o strlist.o suff.o 
targ.o trace.o var.o util.o lstAppend.o lstDupl.o lstInit.o lstOpen.o 
lstAtEnd.o lstEnQueue.o lstInsert.o lstAtFront.o lstIsAtEnd.o lstClose.o 
lstFind.o lstIsEmpty.o lstRemove.o lstConcat.o lstFindFrom.o lstLast.o 
lstReplace.o lstFirst.o lstDatum.o lstForEach.o lstMember.o lstSucc.o 
lstDeQueue.o lstForEachFrom.o lstDestroy.o lstNext.o lstPrev.o stresep.o
.MAKE.LEVEL=1: is not an identifier
bmake: "/tmp/bs/bmake/bootstrap.SCO_SV/Makefile" line 56: warning: "uname -s" 
returned non-zero status
.MAKE.LEVEL=1: is not an identifier
bmake: "/tmp/bs/bmake/bootstrap.SCO_SV/Makefile" line 57: warning: "uname -p 
2>/dev/null || uname -m" returned non-zero status
cd /tmp/bs/bmake/bootstrap.SCO_SV/unit-tests && 
/tmp/bs/bmake/bootstrap.SCO_SV/bmake -r -m / 
TEST_MAKE=/tmp/bs/bmake/bootstrap.SCO_SV/bmake test
.MAKE.LEVEL=1: is not an identifier
*** Error code 1

bmake: stopped in /tmp/bs/bmake/bootstrap.SCO_SV
===> exited with status 1

PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

Home | Main Index | Thread Index | Old Index