bug-libtool
[Top][All Lists]
Advanced

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

Re: libtool(20080421), mingw-cross, check-local fail for DESTDIR tests


From: Roumen Petrov
Subject: Re: libtool(20080421), mingw-cross, check-local fail for DESTDIR tests
Date: Fri, 09 May 2008 23:38:34 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080329 SeaMonkey/1.1.9

With attached patch now I get for libtool 2.2.4:
DESTDIR tests
 38: Simple DESTDIR install                          ok
 39: DESTDIR with in-package deplibs                 ok

Roumen
P.S. the libtool 2.2.4 is patched with Charles Wilson "cwrapper" patch but I don't think that patch affect above tests.


Roumen Petrov wrote:
Hi libtool Team,

How I have time to check libtool in cross-compiled environment:
$ .../configure --build=${ARCH}-pc-linux --host=${ARCH}-mingw32msvc

$ gcc --version
gcc (GCC) 3.4.5 (mingw special)


A.) The command "make check-local" fail on some tests:
ERROR: 34 tests were run,
5 failed (2 expected failures).
32 tests were skipped.

The failed test are: 30(expected), 33, 34, 61(expected) and 66.


For DESTDIR test 33 (for 34 output is similar and test 66 depend from 34 ) testsuite.log show error like next:
=======================
....
libtool: install: warning: `liba.la' has not been installed in ....'
cp: cannot stat `.libs/m.exe': No such file or directory
stdout:
libtool: install: cp .libs/m.exe ..../33/inst/bin/m.exe
..../tests/destdir.at:63: exit code was 1, expected 0
33. destdir.at:48: 33. Simple DESTDIR install (destdir.at:48): FAILED (destdir.at:63)
=======================

The content of test(#33) source subdirectory is:
$ ls m* .libs/m*
.libs/m*  .libs/m_ltshwrapper  m.c  m.exe*  m.o


Why .libs/m is without .exe suffix ?
Command $ ./libtool --config | grep  exeext return:
exeext=
May be is related to the failure :-/ .


B.) The some files test suite use ar command.
In my environment ar command from mingw binutils is found in path before system and tests don't fail. The following files call ar command directly:
- archive-in-archive.at
- testsuite

Is this bug ?

Also I see for failed tests a "run"-script. This scrip set some commands:
============================
#! /bin/sh
exec ${CONFIG_SHELL-/bin/sh} ..../tests/testsuite -v -d \
MAKE='make' CC='<ARCH>-mingw32msvc-gcc' .... \
NM='..../<ARCH>-mingw32msvc-nm -B' \
RANLIB='<ARCH>-mingw32msvc-ranlib' ....
============================
Some of "cross"-commands are with absolute path, other only with basename.
The ar(AR) command is not set.


Roumen



--- ./tests/destdir.at.ORIG     2008-04-17 21:09:56.000000000 +0300
+++ ./tests/destdir.at  2008-05-09 23:10:13.000000000 +0300
@@ -56,7 +56,7 @@
 $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir
 echo 'extern int a(); int main() { return a(); }' > m.c
 $CC $CPPFLAGS $CFLAGS -c m.c
-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m m.$OBJEXT liba.la
+$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la
 mkdir $DESTDIR$libdir $DESTDIR$bindir
 AT_CHECK([$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la],
         [], [ignore], [ignore])
@@ -67,7 +67,7 @@
 LT_AT_MVDIR(["$DESTDIR$bindir"], ["$bindir"])
 # We ignore failure on purpose here: we may not be root.
 AT_CHECK([$LIBTOOL --mode=finish $libdir], [ignore], [ignore], [ignore])
-LT_AT_EXEC_CHECK([$bindir/m])
+LT_AT_EXEC_CHECK([$bindir/m$EXEEXT])
 
 AT_CLEANUP
 
@@ -91,7 +91,7 @@
 $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir 
liba1dep.la liba2dep.la
 echo 'extern int a(); int main() { return a(); }' > m.c
 $CC $CPPFLAGS $CFLAGS -c m.c
-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m m.$OBJEXT liba.la
+$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la
 mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir
 AT_CHECK([$LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la],
         [], [ignore], [ignore])
@@ -124,7 +124,7 @@
   $LIBTOOL --mode=install cp lib$lib.la $DESTDIR$ldir/lib$lib.la
 done
 
-LT_AT_EXEC_CHECK([$bindir/m])
+LT_AT_EXEC_CHECK([$bindir/m$EXEEXT])
 
 # TODO: make this more portable:
 if test "$OBJDUMP" != false && ($OBJDUMP -p $bindir/m$EXEEXT) >/dev/null 2>&1; 
then

reply via email to

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