bug-libtool
[Top][All Lists]
Advanced

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


reply via email to

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