Re: [g-a-devel]libtool breakage in Gnopernicus 0.7.3?



On Tue, 2004-02-10 at 22:23, Bill Haneman wrote:
> Mario Lang wrote:
> 
> > > Looks like a broken libtool script in the tarball. :-(
> > >
> > > The short-term solution is to "export SED=sed", which should fix the
> > > problems you are seeing.
> > 
> > Yes, this makes the compile go through, thanks.
> ...
> > I am not sure how this slipped through QA, but maybe it would be a good
> > idea to test tarball releases a bit more toughly.
> 
> Hi Guys:
> 
> I packaged all these broken tarballs myself.  And yes, they worked
> "fine" on my system, so I had no way of knowing that they were
> broken until bug reports started coming in.  Even then I didn't 
> know what was wrong, and I can't say for certain that my latest tarballs
> work on other peoples' build environments.

Okay, I think I have worked out what is going wrong now. Here is more
detail than you probably ever wanted to know, but it may help Bill to
diagnose the situation on in his build machine (for I think that is
where the problem lies)...

The tarball was built using automake-1.4-p6, autoconf-2.58 and
libtool-1.4.3. When I build gnopernicus with precisely these versions,
everything works. So it is not the tools themselves.

However, some (maybe all) of the libtool M4 macros that are in the
aclocal.m4 file bundled with the tarball are from an earlier version of
libtool.

The key macro we are interested in is called LT_AC_PROG_SED. This sets
the SED environment variable before any libtool scripts are run. It is
required by the AC_LIBTOOL_SETUP macro. When things are working
normally, you should see something like this in aclocal.m4:

AC_DEFUN([AC_LIBTOOL_SETUP],
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_ENABLE_SHARED])dnl
AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([LT_AC_PROG_SED])dnl
 
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
AC_REQUIRE([AC_OBJEXT])dnl
AC_REQUIRE([AC_EXEEXT])dnl
dnl

The version shipped in the gnopernicus-0.7.3 tarball looks like:

AC_DEFUN([AC_LIBTOOL_SETUP],
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_ENABLE_SHARED])dnl
AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
AC_REQUIRE([AC_OBJEXT])dnl
AC_REQUIRE([AC_EXEEXT])dnl
dnl

(The main difference being the missing AC_REQUIRE([LT_AC_PROG_SED])
statement) Note that the AC_LIBTOOL_SETUP macro looks slightly
difference in libtool-1.5, but it also defines SED as a variable, so
this is not a case of using a later libtool version inadvertently.

Now, both the AC_LIBTOOL_SETUP macro and the LT_AC_PROG_SED macro are
shipped as part of the libtool.m4 file that comes with libtool-1.4.3.
This will typically be installed under $(prefix)/share/aclocal.

So, Bill, could you check that your libtool.m4 really does contain an
AC_LIBTOOL_SETUP macro like the first version? If it is more like the
second version, then something has gone wrong when you upgraded libtool
somewhere. If you do have the right libtool.m4, then look around for
suspicious environment variables such as ACLOCAL_FLAGS being set, since
for some reason the wrong libtool.m4 is being dragged in.

It's kind of hard to know exactly what is going wrong here, since this
is all very installation-specific.

Also, you probably realise this, but aclocal.m4 is regenerated by
'aclocal', which happens every time you run autogen.sh. So you should be
able to test stuff by just blowing away aclocal.m4 and then rerunning
autogen.sh. Finally, it is probably worth checking that you do not have
$SED already defined in your environment. Unsetting that will then cause
failures if the wrong M4 macros are included.

If this is not enough information (or unclear), I should be around on
IRC for at least your morning time, so feel free to grab me and I'll see
if I can think of other things.

Cheers,
Malcolm



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