Subject: bug#9986: libtool-2.4 and MinGW+MSYS

From: Earnie <[email-masked]>
Date: Tue, 08 Nov 2011 08:35:50 -0500

Charles Wilson wrote:
> On 11/7/2011 4:20 PM, Earnie wrote:
>> I've found an issue with the .libs/lt-PROGRAM wrapper in that PATH
>> is incorrectly prepended to. Notice below from --lt-debug output
>> that "\usr\src\spud\mpc-svn\bld\src\.libs:" is prepended to the
>> windows PATH. The \usr\src\spud\mpc-svn\bld\src\.libs should have
>> been translated to e:\p\2\src\spud\mpc-svn\bld\src\.libs and a
>> semi-colon instead of a colon used as the path separator.
>>
>> Earnie
>>
>> targ.exe:./.libs/lt-targ.c:684: (lt_update_exe_path) modifying
>> 'PATH' by prepending
>> '\usr\src\spud\mpc-svn\bld\src\.libs:e:\p\2\mingw\lib:e:\p\2\mingw\bin;'
>>
>>
targ.exe:./.libs/lt-targ.c:634: (lt_setenv) setting 'PATH' to
'\usr\src\spud\mpc-svn\bld\src\.libs:e:\p\2\mingw\lib:e:\p\2\mingw\bin;.;e:\p\2\mingw\bin;E:\p\2\msys\bin;c:\opt\vim\vim73;c:\opt\python27;c:\opt\python27\DLLs;e:\opt\php5;e:\opt\mysql\bin;e:\opt\git\bin'
targ.exe:./.libs/lt-targ.c:705: (lt_update_lib_path) modifying 'PATH' by
>> prepending '\usr\src\spud\mpc-svn\bld\src\.libs:e:\p\2\mingw\lib;'
>> targ.exe:./.libs/lt-targ.c:634: (lt_setenv) setting 'PATH' to
>>
'\usr\src\spud\mpc-svn\bld\src\.libs:e:\p\2\mingw\lib;\usr\src\spud\mpc-svn\bld\src\.libs:e:\p\2\mingw\lib:e:\p\2\mingw\bin;.;e:\p\2\mingw\bin;E:\p\2\msys\bin;c:\opt\vim\vim73;c:\opt\python27;c:\opt\python27\DLLs;e:\opt\php5;e:\opt\mysql\bin;e:\opt\git\bin'
targ.exe:./.libs/lt-targ.c:305: (main) lt_argv_zero:
>> e:/p/2/src/spud/mpc-svn/bld
>
> As I told you on the mingw list, I'm going to need more information
> about your build environment. What is $build, and what is $host? If
> $build is "mingw" do you mean MSYS-shell-in-its-normal-"I-am-mingw"
> mode?
>

Yes.

> Also, what are the versions (serial #s) of all of the libtool-related
> .m4 files in your tree, and what does "<builddir>/libtool --version"
> report?

$ ./libtool --version
libtool (GNU libtool) 2.4
Written by Gordon Matzigkeit <[email-masked]>, 1996

Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

You can see the bug from svn trunk for MPC.  The tests has a
tget_version which compares the version of the library DLL to the
expected test which is how I found the issue.  I've attached the
--lt-debug output.  See the "lt_update_library_path"  line.

$ tget_version.exe
GMP: include 5.0.1, lib 5.0.1
MPFR: include 2.4.2, lib 2.4.2
MPC: include 1.0.0dev, lib 0.9
Error: header and library do not match
mpc_get_version: "0.9"
MPC_VERSION_STRING: "1.0.0dev"

Earnie