[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LT_AT_MAKE doesn't terminate the test on failure.
From: |
Gary V. Vaughan |
Subject: |
Re: LT_AT_MAKE doesn't terminate the test on failure. |
Date: |
Tue, 8 Jun 2010 22:18:56 +0700 |
On 8 Jun 2010, at 19:33, Peter Rosin wrote:
> I was looking into a test failure on Cygwin. I see this in the
> testsuite output:
>
> Standalone Libltdl.
>
> 77: compiling softlinked libltdl FAILED (standalone.at:37)
> 78: compiling copied libltdl FAILED (standalone.at:52)
> 79: installable libltdl FAILED (standalone.at:70)
>
> But, the line numbers are incorrect. What really failed is make, and not
> what is being reported in the above.
>
> Here's the end of the 77 log: (78 and 79 are similar)
>
> ../../tests/standalone.at:35: $MAKE $target
> stderr:
> make[1]: *** No rule to make target `config/mdate-sh', needed by `distdir'.
> Stop.
> stdout:
> make[1]: Entering directory
> `/home/peda/libtool/git/libtool-msvc/cygwin/tests/testsuite.dir/077'
> make[1]: Leaving directory
> `/home/peda/libtool/git/libtool-msvc/cygwin/tests/testsuite.dir/077'
> ../../tests/standalone.at:35: exit code was 2, expected 0
> ../../tests/standalone.at:37: test -f libltdlc.la
> 77. standalone.at:31: 77. compiling softlinked libltdl (standalone.at:31):
> FAILED (standalone.at:37)
>
> As you can see, it's the make statement on line 35 that is failing,
> not the "test -f libltdlc.la" on line 37.
>
> I suspect this has something to do with the loop in LT_AT_MAKE, but
> my m4-fu is weak...
LT_AT_MAKE([], [VERBOSE=1 CFLAGS=-ggdb3])
is more or less equivalent to:
$unset LIBTOOL LIBTOOLIZE
AT_CHECK([$MAKE all VERBOSE=1 CFLAGS=-ggdb3], [0], [ignore], [ignore])
similarly:
LT_AT_MAKE([check dist], [DISTDIR=`cd .. && pwd`/_dist])
equates to:
$unset LIBTOOL LIBTOOLIZE
AT_CHECK([$MAKE check DISTDIR=`cd .. && pwd`/_dist], [0], [ignore], [ignore])
AT_CHECK([$MAKE dist DISTDIR=`cd .. && pwd`/_dist], [0], [ignore], [ignore])
where AT_CHECK is running it's first quoted argument, ignoring stdout
and stderr, but only failing if the $MAKE invocation does not exit with
status 0.
> I would also like to know what "make config/mdate-sh" is supposed to
> accomplish, but that is a separate issue.
Well, the only thing the testsuite does is call `make dist', so make has
decided that it needs mdate-sh before it will continue. The test is
essentially making a copy of the libltdl directory with libtoolize
and trying to build it, so I don't understand where that dependecy
came from. What does the Makefile.in in the test directory contain?
(it should be a direct copy of $top_srcdir/libltdl/Makefile.in).
Cheers,
--
Gary V. Vaughan (address@hidden)