zsh-workers
 help / color / mirror / code / Atom feed
* loading of module's dependencies broken with '-z now' in LDFLAGS
@ 2015-11-05 10:59 Kamil Dudka
  2015-11-05 11:58 ` Peter Stephenson
  0 siblings, 1 reply; 5+ messages in thread
From: Kamil Dudka @ 2015-11-05 10:59 UTC (permalink / raw)
  To: zsh-workers

Hello,

the build system of Fedora recently started to call linker with '-z now'. 
The ld(1) man page regarding this option says:

    "When generating an executable or shared library, mark it to tell the
    dynamic linker to resolve all symbols when the program is started, or
    when the shared library is linked to using dlopen, instead of deferring
    function call resolution to the point when the function is first called."

This breaks loading of zsh modules that depend on other zsh modules.
For instance, the following command fails:

$ zsh -c 'zmodload zsh/zftp' 
zsh:1: failed to load module `zsh/zftp': /usr/lib64/zsh/5.1.1/zsh/zftp.so: 
undefined symbol: freehostent

... whereas the following command succeeds:

$ zsh -c 'zmodload zsh/net/tcp && zmodload zsh/zftp' 

Do I understand it correctly that the only solution is to tweak the build 
system not to use '-z now' while linking zsh modules?

The issue was originally reported here: https://bugzilla.redhat.com/1277996

Kamil


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

end of thread, other threads:[~2015-11-05 12:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-05 10:59 loading of module's dependencies broken with '-z now' in LDFLAGS Kamil Dudka
2015-11-05 11:58 ` Peter Stephenson
2015-11-05 12:17   ` Peter Stephenson
2015-11-05 12:39     ` Kamil Dudka
2015-11-05 12:47       ` Peter Stephenson

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