From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11161 invoked from network); 29 Apr 2007 16:09:51 -0000 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,FORGED_RCVD_HELO autolearn=ham version=3.1.8 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 29 Apr 2007 16:09:51 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 35732 invoked from network); 29 Apr 2007 16:09:39 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 29 Apr 2007 16:09:39 -0000 Received: (qmail 1308 invoked by alias); 29 Apr 2007 16:09:37 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 23347 Received: (qmail 1298 invoked from network); 29 Apr 2007 16:09:36 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 29 Apr 2007 16:09:36 -0000 Received: (qmail 35369 invoked from network); 29 Apr 2007 16:09:36 -0000 Received: from flock1.newmail.ru (82.204.219.207) by a.mx.sunsite.dk with SMTP; 29 Apr 2007 16:09:29 -0000 Received: (qmail 9303 invoked from network); 29 Apr 2007 16:09:28 -0000 Received: from unknown (HELO cooker.local) (arvidjaar@newmail.ru@85.140.149.153) by smtpd.newmail.ru with SMTP; 29 Apr 2007 16:09:28 -0000 From: Andrey Borzenkov To: zsh-workers@sunsite.dk Subject: Re: Library linkage portability? Date: Sun, 29 Apr 2007 20:09:24 +0400 User-Agent: KMail/1.9.6 References: <20070429123432.GA35096@redoubt.spodhuis.org> <070429084431.ZM5861@torch.brasslantern.com> In-Reply-To: <070429084431.ZM5861@torch.brasslantern.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1442583.3DJWuWYsyu"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200704292009.24714.arvidjaar@newmail.ru> --nextPart1442583.3DJWuWYsyu Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sunday 29 April 2007, Bart Schaefer wrote: > On Apr 29, 5:34am, Phil Pennock wrote: > } > } Can someone please educate me as to the issues, or have I summed it up? > } What about the stranger platforms, AIX etc? > > Search the zsh-workers archives for the years 1996-1998 for the terms > "dynamic;link" "dynamic;load" and "dynamic;library". E.g.: > > http://tinyurl.com/3355m6 > > In particular start here: > > http://tinyurl.com/37gaqe > > My recollection is that Cygwin and some other environments require not > that dynamic modules be linked from the main executable, but that they > be linked from another library, which is why the zsh/main module exists. > More precisely - some systems cannot export dynamic symbols (necessary for= =20 run-time linking) from main executable; they can be exported only from=20 another dynamic module; library just being special case of dynamic module. = I=20 have been using such system for some time. Because on Win32 you actually li= nk=20 DLL against stub for another DLL, and such stub exists for DLL only, not fo= r=20 exe, I guess it is true for Cygwin as well (modern Cygwin can generate stub= =20 on the fly, but it is still required). Also there are systems that do not support chained libraries (i.e. main=20 executable requires library liba.so which requires libb.so. In this case=20 libb.so won't be loaded unless explicitly listed during linking of main=20 executable. Whether linker does not put NEEDED entries or rtld ignores them= ,=20 does not matter - I believe on my system it was the latter). That is actual= ly=20 what gave rise to something like "pkgcofig --libs ..."; also libtool should= =20 cope with this too - it has full information about all requirements and lin= ks=20 main executable against all need libraries on systems that need it. I do not know if you can find any such system in the wild today. =2Dandrey --nextPart1442583.3DJWuWYsyu Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQBGNMM0R6LMutpd94wRArowAKC3hg6jSpN3TdS/1Df3QS2KrLIs2gCgkXKu jpwGkjOdSx2GUXy357DwTeQ= =Urwh -----END PGP SIGNATURE----- --nextPart1442583.3DJWuWYsyu--