Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Zsh requires Bash? 2002 revisited



On Sat, Jan 6, 2018 at 11:23 AM, Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
wrote:

> On Sat, Jan 6, 2018 at 5:47 AM, Jim <linux.tech.guy@xxxxxxxxx> wrote:
> >
> > I had been testing different shells to be used as the default "sh" on
> > my system.
>
> If this is failing in one of our scripts, as opposed to in a stock
> autoconf test, we might be able to fix it; since it's "not exactly the
> same" would you provide more details?
>

As I said I was testing different shells, it was by chance that /bin/sh and
/bin/posh were
linked when I started the build. I also tested dash, ksh, mksh, zsh and of
course bash by
linking them to /bin/sh in turn. The only time the zsh build failed was
when /bin/sh and
/bin/posh were linked.

Last lines of make:

make[3]: Leaving directory '/home/friartek/work/zsh/Repository/code/Src/Zle'
make[2]: Leaving directory '/home/friartek/work/zsh/Repository/code/Src'
mv: cannot stat ‘stamp-modobjs.tmp’: No such file or directory
Updated `stamp-modobjs'.
make[2]: Entering directory '/home/friartek/work/zsh/Repository/code/Src'
gawk -f ../Src/makepro.awk main.c Src > main.syms
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' <
main.syms) \
    > main.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' <
main.syms) \
    > `echo main.epro | sed 's/\.epro$/.pro/'`
gcc -c -I. -I../Src  -DHAVE_CONFIG_H -Wall -Wmissing-prototypes -O2 -o
main.o ./main.c
make[2]: Leaving directory '/home/friartek/work/zsh/Repository/code/Src'
make[2]: Entering directory '/home/friartek/work/zsh/Repository/code/Src'
make[2]: Leaving directory '/home/friartek/work/zsh/Repository/code/Src'
rm -f zsh
gcc -s  -rdynamic -o zsh main.o  `cat stamp-modobjs`   -lgdbm -L/usr/lib64
-lpcre -ldl -lncursesw -lrt -lm  -lc
cat: stamp-modobjs: No such file or directory
main.o: In function `main':
main.c:(.text.startup+0x1): undefined reference to `zsh_main'
collect2: error: ld returned 1 exit status
Makefile:227: recipe for target 'zsh' failed
make[1]: *** [zsh] Error 1
make[1]: Leaving directory '/home/friartek/work/zsh/Repository/code/Src'
Makefile:188: recipe for target 'all' failed
make: *** [all] Error 1

The common thing I saw, between this output and the output of make from
2002 was the file name "stamp-modobjs". Coincidence? So my next step
was to link sh to bash and verify that would allow the build to complete.
It did.

Sequence for each build of zsh-5.4.2-146-gc8e2f3c3d:

git reset --hard HEAD
git clean -f -d -x >/dev/null
Util/preconfig
configure <with and without options - no difference>
make

By the way, if there is a better way of preparing and doing builds, I'm
open to suggestions. Also building on a newly created branch.

Shell versions tested:

posh:  0.12.6
mksh: @(#)MIRBSD KSH R56 2017/08/24
dash: 0.5.9.1-r3
ksh: Version ABIJM 93v- 2014-12-24
bash: 4.4.12(1)-release
zsh: 5.3.1

Hope this was the info you needed. If you need more info, let me know.


Messages sorted by: Reverse Date, Date, Thread, Author