Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: static link zsh/example and zsh/zftp errors on FreeBSD
- X-seq: zsh-users 7011
- From: Vincent Stemen <zsh@xxxxxxxxxxx>
- To: Peter Stephenson <pws@xxxxxxx>
- Subject: Re: static link zsh/example and zsh/zftp errors on FreeBSD
- Date: Mon, 19 Jan 2004 15:47:21 -0600
- Cc: zsh-users@xxxxxxxxxx
- In-reply-to: <12217.1074509488@xxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <20040119095736.GA86747@xxxxxxxxxxxxxxxxx> <12217.1074509488@xxxxxxx>
On Mon, Jan 19, 2004 at 10:51:28AM +0000, Peter Stephenson wrote:
> Vincent Stemen wrote:
>
> > Enable zsh/example in config.modules:
> >
> > name=zsh/example modfile=Src/Modules/example.mdd link=static auto=no load=yes
> >
> > I get the following errors:
> >
> > gcc -static -o zsh main.o `cat stamp-modobjs` -ltermcap -lm -lc
> > init.o: In function `init_bltinmods':
> > init.o(.text+0x236a): undefined reference to `add_automath'
> > init.o(.text+0x237b): undefined reference to `add_automath'
> > make[1]: *** [zsh] Error 1
> > make[1]: Leaving directory `/u1/g2/pkg/src/zsh-4.1.1/Src'
> > make: *** [all] Error 1
>
> That's a bit screwy; there's no add_automath, though there is an
> add_automathfunc which is only used inside module.c.
I thought so also after getting your reply so I investigated further
and found the problem. Apparently the C call to add_automath() is
being generated by the shell script, Src/mkbltnmlst.sh. I am guessing
that the function name was changed somewhere along the way and did not
get updated in that script. I changed it to generate a call to
add_automathfunc() instead and it compiled successfully. The patch is
attached.
>
> > Enable zsh/zftp and I get the following error:
> >
> > make[3]: Entering directory `/u1/g2/pkg/src/zsh-4.1.1/Src/Modules'
> > make[3]: *** No rule to make target `tcp.mdh', needed by `zftp.mdh'.
> > Stop.
> > make[3]: Leaving directory `/u1/g2/pkg/src/zsh-4.1.1/Src/Modules'
> > make[2]: *** [headers] Error 1
> > make[2]: Leaving directory `/u1/g2/pkg/src/zsh-4.1.1/Src'
> > make[1]: *** [headers] Error 2
> > make[1]: Leaving directory `/u1/g2/pkg/src/zsh-4.1.1/Src'
> > make: *** [all] Error 1
>
> You will need to enable zsh/tcp, too.
>
> It's probably a good idea to make either both or neither static. We
> don't usually try with a mixture. (Translation: I have no idea what
> will happen.)
Ah! I see. Yes, that fixed it. It now compiles successfully with
zftp enabled.
Thanks.
Vincent
--
Vincent Stemen
Avoid the VeriSign/Network Solutions domain registration trap!
http://www.InetAddresses.net
*** Src/mkbltnmlst.sh.orig Mon Jan 19 15:24:36 2004
--- Src/mkbltnmlst.sh Mon Jan 19 15:25:28 2004
***************
*** 54,60 ****
echo " add_autoparam(\"$param\", \"$x_mod\");"
done
for mfunc in $automathfuncs; do
! echo " add_automath(\"$mfunc\", \"$x_mod\");"
done
echo " }"
for dep in $moddeps; do
--- 54,60 ----
echo " add_autoparam(\"$param\", \"$x_mod\");"
done
for mfunc in $automathfuncs; do
! echo " add_automathfunc(\"$mfunc\", \"$x_mod\");"
done
echo " }"
for dep in $moddeps; do
Messages sorted by:
Reverse Date,
Date,
Thread,
Author