[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile build failure - help !

From: Neil Jerram
Subject: Re: guile build failure - help !
Date: Thu, 20 Nov 2008 23:54:45 +0000

2008/11/20 Andy Wingo <address@hidden>:
> Hi Dave,
> On Thu 20 Nov 2008 00:01, Dave Nadler <address@hidden> 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:

        extern const lt_dlsymlist lt_preloaded_symbols[];               \
        lt_dlpreload_default(lt_preloaded_symbols);                     \

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]