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

Re: static link zsh/example and zsh/zftp errors on FreeBSD



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