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

Re: loading dynamic modules in a static shell

On Jan 18,  6:14am, Vincent wrote:
> Is it supposed to be possible to compile a static shell with part of
> the modules built in and to be able to load the remaining modules with
> zmodload?

Yes; in fact the default is for zsh/main to be static-linked and all the
other modules to be dynamic.

> not been able to get it to work.  I don't know if there is another way
> I am supposed to do it but If I tried setting some with link=dynamic
> and some with link=static in config.modules it would not work.

That's the way you're supposed to do it.  However, I think you may be a
little confused about the procedure:

> It only compiled either static or dynamic based on how the ldflags
> were set when it was configured with configure. I compiled zsh-4.0.9
> configured with "configure --enable-ldflags=-static"

That's the first mistake.  You want one of

	configure --enable-dynamic			(the default)
	configure --disable-dynamic

Do not specify the -static or -shared ldflags yourself directly; they are
independent of whether individual modules are static-linked.

For a mix of static and dynamic modules, you must start by configuring a
dynamic shell, then edit config.modules to select the modules that you
want linked static.

> installed it, then reconfigured it as shared, did a "make modules" and
> installed the dynamic modules. However, when I try loading one of the
> dynamic modules that are not statically linked in, such as zftp, it
> just says "zsh: failed to load module: zsh/zftp".

Did you ever actually edit config.modules to set "link=static" for zftp?
If so, did you also set "auto=no" so that re-running configure would not
clobber your changes?

> I have searched the FAQ, mailing lists, and documentation, but have
> not found any information that helps me.

The INSTALL file should tell you just about everything you need to know.

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