|
From: | Roumen Petrov |
Subject: | Re: testsuite.at for version 2.x Was: ... mingw-cross, check-local fail for DESTDIR tests |
Date: | Wed, 19 Nov 2008 00:12:56 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.17) Gecko/20080925 SeaMonkey/1.1.12 |
Roumen Petrov wrote:
Ralf Wildenhues wrote:Hello Roumen, all, apologies for the huge delay. * Roumen Petrov wrote on Sat, May 10, 2008 at 12:25:48PM CEST:The libtool version before 2.x (as example 1.5x) in mingw-cross compilation environment create executables as follow:- foo : wrapper shell script - foo.exe : libtool wrapper executable . libs/foo.exe : native(host) executableSince version 2.x don't create wrapper shell script in build directory make check{-local} skip any tests. The reason is code of macro LT_AT_EXEC_CHECK:[...]The program $1 (wrapper shell scrip in 1.5x and former) don't exist, lt_status is non zero and macro code exit with status 77 (exist wrapper executable "$1"$EXEEXT).Also same problem in macro LT_AT_NOINST_EXEC_CHECK.Agreed. Please try this patch. Thanks. Others, OK to commit? Thanks, RalfPlease find attached file "libtool-origin-20081118.diff.gz" (Ralf patch + more $EXEEXT when linking executables)
I guess that a typo was problem with "libtool --mode install" so in previous patch I left test code unchanged (may be a Cyrillic E instead Latin).
Now I update code for "mode install" again and the new diff-file is attached as "libtool-origin-20081118-v2.diff.gz".
Changes: - $EXEEXT for "mode install"; - gived-up changes in old-m4-iface.at; - change in static.at from [m$st] to [m${st}$EXEEXT] may be isn't portable. [SNIP]
Test 25 "Link order of deplibs" skipped (link-order2.at:129) - in my todo for investigation.
Still skipped. The executable exit code is 1 instead 2. No idea what is problem:
- emulation problem; - mingw linker problem; - windows loader - load shared library order problem (not tested yet). $objdump -x .libs/wrong.exe | grep DLL DLL Name: libb-0.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: liba0-0.dll $ objdump -x .libs/libb-0.dll | grep DLL DLL Name: liba1-0.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll strace show that liba1-0.dll is accessed first. The link command: [GCC] ... -o .libs/wrong.exe main.o \ -L[T25DIR]/lib \ [T25DIR]/lib/liba0.dll.a \ ./.libs/libb.dll.a \ [T25DIR]/.libs/liba1.dll.a \ -L[T25DIR]/lib -L[T25DIR]/inst/lib
Test 29 "static linking flags for programs" skipped (static.at:177) - problem is with "libtool --mode install" since real executable is in .libs subdirectory. No idea how to fix.
It is not "--mode install" problem. Still skipped. It is too big test :) . [SNIP]
Test 48 "enforced lib prefix" FAILED (need_lib_prefix.at:184) - again "--mode install" problem (see test 29).
It is not "--mode install" problem. It is related to end of line. $ cat -A testsuite.dir/48/expout libfoo1: 2^M^M$ libfoo2: 3^M^M$ $ testsuite.dir/48/main.exe | cat -A libfoo1: 2^M$ libfoo2: 3^M$Also executable is linked statically since -no-undefined isn't specified (two warnings in log output).
[SNIP] Roumen
libtool-origin-20081118-v2.diff.gz
Description: application/gzip
[Prev in Thread] | Current Thread | [Next in Thread] |