From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Neil Jerram" Newsgroups: gmane.lisp.guile.devel Subject: Re: guile build failure - help ! Date: Thu, 20 Nov 2008 23:54:45 +0000 Message-ID: <49dd78620811201554l1f9e6b73w41aaa9072f3086c8@mail.gmail.com> References: <6.0.1.1.2.20081119180113.01e172f8@pop.nadler.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1227225304 20851 80.91.229.12 (20 Nov 2008 23:55:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 20 Nov 2008 23:55:04 +0000 (UTC) Cc: Dave Nadler , guile-devel@gnu.org To: "Andy Wingo" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Nov 21 00:56:05 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L3JNV-0001Nc-2m for guile-devel@m.gmane.org; Fri, 21 Nov 2008 00:56:05 +0100 Original-Received: from localhost ([127.0.0.1]:60944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L3JMM-0006dA-0E for guile-devel@m.gmane.org; Thu, 20 Nov 2008 18:54:54 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L3JMI-0006bM-Vu for guile-devel@gnu.org; Thu, 20 Nov 2008 18:54:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L3JMH-0006aB-B7 for guile-devel@gnu.org; Thu, 20 Nov 2008 18:54:50 -0500 Original-Received: from [199.232.76.173] (port=47682 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L3JMH-0006a2-7j for guile-devel@gnu.org; Thu, 20 Nov 2008 18:54:49 -0500 Original-Received: from rv-out-0708.google.com ([209.85.198.250]:9223) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L3JMG-0006lI-Ev for guile-devel@gnu.org; Thu, 20 Nov 2008 18:54:48 -0500 Original-Received: by rv-out-0708.google.com with SMTP id k29so714339rvb.6 for ; Thu, 20 Nov 2008 15:54:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=Ep57wj9f4O91gS423W3nSsyZfdLdPa0xNxJyVxklk/M=; b=x+Lyl19p5EB7pUdvTh/g1MVSGSzKRpnK9ltxE3OrSwT+TnKuOR1YUWVk1NteECvLFp uXvhQH0apJQ/Xf8N2hzvB7bDFYI8sLOB8+6m0zi7HDiC8X1Qe2bJj/mZmMUYOjqeETTe LDyIOZ7U8rE42K3bb2u1TxZax82TSWgNIiaIM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=i4NscQ6UgCUdwKCjd2kqPKYNgK6WHq+m9W7rXcljKjZadMVhHDkOU1izItMnEAmwrO l0755PZ2d6u76kgoT4Nl9wcTgRbPp9YELRks0o51xwczzWhGr3U+baqibLbGlNXId2HR grqqPPhoOp05z+4BlOCWSEkeWS2PvebFnYstg= Original-Received: by 10.141.18.12 with SMTP id v12mr1518017rvi.187.1227225285445; Thu, 20 Nov 2008 15:54:45 -0800 (PST) Original-Received: by 10.140.199.14 with HTTP; Thu, 20 Nov 2008 15:54:45 -0800 (PST) In-Reply-To: Content-Disposition: inline X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7876 Archived-At: 2008/11/20 Andy Wingo : > Hi Dave, > > On Thu 20 Nov 2008 00:01, Dave Nadler writes: > >> /cygdrive/d/home/drn/guile-1.8.5/libguile/guile.c:72: undefined >> reference to `_l >> t__PROGRAM__LTX_preloaded_symbols' > > I think this is because we don't support libltdl version 2.2 yet, > unfortunately. Someone with access to that version of libtool needs to > make a patch :) Until then, if it's possible, downgrade to libtool > 1.5.26 and try again. > > Sorry for the irritation, I couldn't resist looking into this a bit more. Seems there is a dependency between ltdl.h, which (in version 1.5.26) includes: #define LTDL_SET_PRELOADED_SYMBOLS() LT_STMT_START{ \ extern const lt_dlsymlist lt_preloaded_symbols[]; \ lt_dlpreload_default(lt_preloaded_symbols); \ }LT_STMT_END and libtool.m4, which (also in version 1.5.26) autogenerates code that includes: /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[[]] = { ... I haven't yet worked how the code generated by libtool.m4 eventually gets linked with guile.c, but I'm pretty sure that's what happens. When we (i.e. Ludovic :-)) builds a new Guile release, we do it on a machine with libtool 1.5.26. As part of the autogen.sh step, the libtool.m4 on that machine gets copied into aclocal.m4, and aclocal.m4 is included in the release tarball. So then the tarball is effectively hardcoded to generate lt_preloaded_symbols. When Guile is built on a machine with libtool 2.2, the problem is an extra line in the libtool 2.2 version of ltdl.h: #define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols This causes the code in guile.c to reference lt__PROGRAM__LTX_preloaded_symbols, and the aclocal.m4-generated code doesn't define that, so we have an undefined reference. Unfortunately, I can't yet see that this explanation suggests any nice solutions... Neil