libtool
[Top][All Lists]
Advanced

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

[cygwin] Analysis for new testsuite failures 33,34.35


From: Charles Wilson
Subject: [cygwin] Analysis for new testsuite failures 33,34.35
Date: Fri, 23 Mar 2007 01:32:12 -0500
User-agent: Thunderbird 1.5.0.10 (Windows/20070221)

In this message:
http://lists.gnu.org/archive/html/libtool-patches/2007-03/msg00030.html
I mentioned that I had observed three new failures in the testsuite:

      33,34,35: new regressions in CVS between 20070205 and 20070316

I think the CVS dates are a red herring. The error message in testsuite.log is -- well actually, the following is taken from a run of

$ make check-local TESTSUITEFLAGS='-x -v -d 33'


===========================================================
...

../../libtool-HEAD/tests/subproject.at:56: $MAKE all $tst_dist
+ make all dist
stderr:
/usr/share/aclocal/pstoedit.m4:7: warning: underquoted definition of AM_PATH_PSTOEDIT
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/libmcrypt.m4:17: warning: underquoted definition of AM_PATH_LIBMCRYPT libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries mkdir: cannot create directory `/usr/src/libtool/cvs/_build/tests/testsuite.dir/33/subproject-demo-2.1a/sub/ltdl': File exists
make[2]: *** [distdir] Error 1
make[1]: *** [distdir] Error 1
...

===========================================================


The actual problem is a bug in automake-1.9.6, because these tests all pass under the following conditions:

(1) force libtool bootstrap using automake-1.10 (by changing configure.ac, ensuring beyond doubt that the 'automake' and 'aclocal' in use are automake-1.10 and aclocal-1.10, rebuild, and run the tests

(2) or use plain old automake-1.9.6, but with the following change backported from automake-1.10:

distdir.am:
@@ -50,7 +50,7 @@
 ##
 if %?TOPDIR_P%
        $(am__remove_distdir)
-       mkdir $(distdir)
+       test -d $(distdir) || mkdir $(distdir)
 endif %?TOPDIR_P%
 ##
 ##


It's because in the recursive call, am__remove_distdir is redefined to ':' -- specifically because we do not want to rm-rf it within the recursion. But without the above change, plain mkdir fails because the target already exists.


Now, I'm not sure how to "solve" this problem: I don't know what the policy is on the required version of automake for libtool-HEAD, but I'm pretty sure it isn't "require 1.10". But I also don't know if automake-1.9.x is still under development, and would accept the above backport for some future automake-1.9.7 release.

Ideas?

--
Chuck





reply via email to

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