zsh-workers
 help / color / mirror / code / Atom feed
* Re: modules!??
@ 1997-06-05 12:33 Wez Furlong
  1997-06-05 14:17 ` modules!?? Peter Stephenson
  0 siblings, 1 reply; 11+ messages in thread
From: Wez Furlong @ 1997-06-05 12:33 UTC (permalink / raw)
  To: Zoltan Hidvegi; +Cc: zsh-workers

On Jun 5,  1:45am, Zoltan Hidvegi wrote:
: [I wrote]
: > 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.

: > 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.

Is it safe to remove the redundant comp1.so that is created in this
case? Also, is it possible to have the Makefile not install it if its
not needed?

: 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.

I was only explicitly loading it in an attempt to narrow down the cause
of the problem.

: 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.

That would be a good thing :)

: The IRIX crash is probably caused by the duplication of the comp1 module.

The IRIX version loads the comp1 module on startup itself; this leads me
to believe that comp1 is not builtin to the IRIX binary. When it
successfully loads the comp1.so, it seg-faults; without it it carries on
happily.

: 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).

I hope it all comes together soon!

Cheers,



-- 
Wez - Electronics Undergraduate at the University of York
URL : http://www.twinklestar.demon.co.uk/

Insult Of The Day: Thou vain spur-galled foot-licker!


^ permalink raw reply	[flat|nested] 11+ messages in thread
* modules!??
@ 1997-06-05  1:35 Wez Furlong
  1997-06-05  5:45 ` modules!?? Zoltan Hidvegi
  0 siblings, 1 reply; 11+ messages in thread
From: Wez Furlong @ 1997-06-05  1:35 UTC (permalink / raw)
  To: zsh-workers

Right, here we go...

I have zsh3.1.2-beta on two systems (IRIX 5.3 and SunOS 4.1.3).

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

AFAICT, comp1 is not zmodloaded by zsh under SunOs on startup: you can
unload and load the zle and compctl modules as much as you like.

What I don't understand is what is going on! The man page for the
modules says that 

      THE COMP1 MODULE
          The comp1 module does nothing that is visible to the user.
          Its purpose is to provide the internal basis of the
          programmable completion mechanism.  It must be loaded before
          any module that provides a means of controlling completion
          (such as the compctl module), or that uses completions (such
          as the zle module).  This is done automatically for modules
          distributed with zsh, and for other modules can be effected
          by the use of zmodload -d.

It doesn't appear to follow this behaviour for SunOS, and seg-faults, as
is correct(?!) under IRIX....

Can anyone shed some light on this? I didn't expect the modules to work
first time on IRIX 5.3 (in fact, they all do except for the comp1
dependents), and the strange behaviour of the SunOs version is...
strange.

TIA




-- 
Wez - Electronics Undergraduate at the University of York
URL : http://www.twinklestar.demon.co.uk/

Insult Of The Day: Thou mangled plume-plucked malt-worm!


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~1997-06-08 12:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-06-05 12:33 modules!?? Wez Furlong
1997-06-05 14:17 ` modules!?? Peter Stephenson
  -- strict thread matches above, loose matches on Subject: below --
1997-06-05  1:35 modules!?? Wez Furlong
1997-06-05  5:45 ` modules!?? Zoltan Hidvegi
1997-06-05 17:33   ` modules!?? Zefram
1997-06-05 18:24     ` modules!?? Zoltan T. Hidvegi
1997-06-05 19:11       ` modules!?? Zefram
1997-06-05 19:22         ` modules!?? Zoltan T. Hidvegi
1997-06-05 19:46         ` modules!?? Zoltan T. Hidvegi
1997-06-07 19:48         ` modules!?? Stefan Monnier
1997-06-08 11:49           ` modules!?? Zefram

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).