From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21351 invoked by alias); 5 Nov 2015 11:06:41 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 37064 Received: (qmail 12129 invoked from network); 5 Nov 2015 11:06:39 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 From: Kamil Dudka To: zsh-workers@zsh.org Subject: loading of module's dependencies broken with '-z now' in LDFLAGS Date: Thu, 05 Nov 2015 11:59:42 +0100 Message-ID: <5256226.5racBSergM@kdudka.brq.redhat.com> User-Agent: KMail/4.14.10 (Linux/4.2.5-300.fc23.x86_64; KDE/4.14.13; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 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