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

Re: modules!??

> On IRIX zsh 'goes away' when it loads the comp1 module on startup. If it
> can't find the comp1 module, it carries on without zle or compctl.
> As a result I am using the non-dynamic version for IRIX.
> Under SunOS, the modules work fine, except:
> When you explicitly zmodload comp1:
> 	ld.so: Undefined symbol: _fallback_compctlread
> The shell then exits.
> also,
> 	% zmodload deltochar
> 	ld.so: Undefined symbol: _zmod

Perhaps I should have mentioned this in the readme.  On some systems
modules cannot export symbols to other modules, so the comp1 module has to
be compiled into the main binary.  configure autodetects these systems, and
if you do not create modules-bltin manually, make will create it with comp1
which forces comp1 into the main binary.

But really you should never load comp1 manually.  Zsh knows that zle needs
comp1 and if you try to load zle it will load comp1 first if it doesn't
already have it.  Perhaps the output of zmodload should include the
statically linked modules as well (with some indication that this module is
static).  This would give the user a more clear picture.  The IRIX crash is
probably caused by the duplication of the comp1 module.

Deltochar have a similar problem, it wants to use the zmod symbol exported
by the zle module.  The symbols defined by a module can be discovered using
dlsym even on these systems, so we may find some way to overcome this
limitation.  I think it is possible to do that with some script-generated C
code.  For that we also need a list of exported and imported function for
each module and for the main binary, which is also needed for dynamic
loading on AIX.  The imported function list is hard to portably generate
automatically, so these lists will probably have to be maintained by hand
(with the help of a script, which can generate this list automatically
using nm, ld or some other tool on an OS I have access to).


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