new libtool version makes troble

2009-12-08 Thread Joakim Tjernlund

We just upgraded libtool from 1.5.26 to 2.2.6 and our build
broke. Our host requires 2.2.6 so keeping the old appears difficult.

Even though we only run autoreconf manually in our project, the new libtool
slipped into the project and the build broke.
I can fix this by rerunning autoreconf -i -f in the current trunk but
I cannot do that in already released SW.
I had the impression that the libtool files installed by libtoolize -f
should contain everything needed by libtool, that is, there would not be
any dependencies of the host libtool.
How can I prevent the new host libtool from slipping into
the project?
I would like to be able to run autoreconf even after upgrading the host libtool 
too, if possible.

 Jocke



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: new libtool version makes troble

2009-12-08 Thread Ralf Wildenhues
Hello Joakim,

* Joakim Tjernlund wrote on Tue, Dec 08, 2009 at 03:23:39PM CET:
 
 We just upgraded libtool from 1.5.26 to 2.2.6 and our build
 broke. Our host requires 2.2.6 so keeping the old appears difficult.
 
 Even though we only run autoreconf manually in our project, the new libtool
 slipped into the project and the build broke.
 I can fix this by rerunning autoreconf -i -f in the current trunk but
 I cannot do that in already released SW.
 I had the impression that the libtool files installed by libtoolize -f
 should contain everything needed by libtool, that is, there would not be
 any dependencies of the host libtool.

That is normally the case.

Note that with Libtool 2.2.x, you can also use the following strategy:
add AC_CONFIG_MACRO_DIR([m4]) to configure.ac, add
  ACLOCAL_AMFLAGS = -I m4
to Makefile.am, and run 'libtoolize -f --install' to have the Libtool
macro files be copied into your tree.  That way, aclocal.m4 will refer
to them (rather than carry around a copy of their contents).

 How can I prevent the new host libtool from slipping into
 the project?

I'm afraid I can't tell you with the information that you have given.
Please show, not describe, how the host Libtool gets into your project;
i.e., cut and paste the commands you enter and their output that shows
something goes wrong.  If your project is open source, don't refrain to
link to a tarball or repository.

 I would like to be able to run autoreconf even after upgrading the
 host libtool too, if possible.

Ah, if all you're after is to prevent autoreconf from running
libtoolize, then try
  LIBTOOLIZE=true autoreconf

Another issue may be that aclocal fails to find the in-tree libtool
macros, but finds some installed ones.  That can typically be found out
by passing --verbose to aclocal (passing --verbose to autoreconf will do
that).

Hope that helps.

Cheers,
Ralf


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: new libtool version makes troble

2009-12-08 Thread Joakim Tjernlund
Ralf Wildenhues ralf.wildenh...@gmx.de wrote on 08/12/2009 20:57:17:

 Hello Joakim,

 * Joakim Tjernlund wrote on Tue, Dec 08, 2009 at 03:23:39PM CET:
 
  We just upgraded libtool from 1.5.26 to 2.2.6 and our build
  broke. Our host requires 2.2.6 so keeping the old appears difficult.
 
  Even though we only run autoreconf manually in our project, the new libtool
  slipped into the project and the build broke.
  I can fix this by rerunning autoreconf -i -f in the current trunk but
  I cannot do that in already released SW.
  I had the impression that the libtool files installed by libtoolize -f
  should contain everything needed by libtool, that is, there would not be
  any dependencies of the host libtool.

 That is normally the case.

 Note that with Libtool 2.2.x, you can also use the following strategy:
 add AC_CONFIG_MACRO_DIR([m4]) to configure.ac, add
   ACLOCAL_AMFLAGS = -I m4
 to Makefile.am, and run 'libtoolize -f --install' to have the Libtool
 macro files be copied into your tree.  That way, aclocal.m4 will refer
 to them (rather than carry around a copy of their contents).

  How can I prevent the new host libtool from slipping into
  the project?

 I'm afraid I can't tell you with the information that you have given.
 Please show, not describe, how the host Libtool gets into your project;
 i.e., cut and paste the commands you enter and their output that shows
 something goes wrong.  If your project is open source, don't refrain to
 link to a tarball or repository.

Sorry for the somewhat vague description, but I have gotten somewhat further.


  I would like to be able to run autoreconf even after upgrading the
  host libtool too, if possible.

 Ah, if all you're after is to prevent autoreconf from running
 libtoolize, then try
   LIBTOOLIZE=true autoreconf

I did add a m4 dir and copied the old libtool.m4 there. Now
I can run configure and all is well but I think I might have misunderstood
libtoolize. I figured libtoolize didn't install new files over the
old ones unless -f was given. Is this how it is supposed to be?
LIBTOOLIZE=true autoreconf appears to work, however I would like
some way for autoreconf to pick this up automatically, if possible.

I do have the impression that configure/make sometimes reruns
libtoolize automatically, maybe I am just seeing things that aren't there?


 Another issue may be that aclocal fails to find the in-tree libtool
 macros, but finds some installed ones.  That can typically be found out
 by passing --verbose to aclocal (passing --verbose to autoreconf will do
 that).

What happens are that aclocal somehow triggers and install a new aclocal.m4 with
the new libtool macros. The old ltmain.sh does not understand these and dies.
Adding the m4 dir keeps the old macros and ltmain.sh works again

  Jocke



___
http://lists.gnu.org/mailman/listinfo/libtool