GNU bug report logs - #15321
incorrect sys_lib_search_path_spec with mingw cross compiler

Previous Next

Package: libtool;

Reported by: Ozkan Sezer <sezeroz <at> gmail.com>

Date: Tue, 10 Sep 2013 15:45:03 UTC

Severity: normal

To reply to this bug, email your comments to 15321 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-libtool <at> gnu.org:
bug#15321; Package libtool. (Tue, 10 Sep 2013 15:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ozkan Sezer <sezeroz <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Tue, 10 Sep 2013 15:45:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ozkan Sezer <sezeroz <at> gmail.com>
To: bug-libtool <at> gnu.org
Cc: Peter Rosin <peda <at> lysator.liu.se>,
 Charles Wilson <libtool <at> cwilson.fastmail.fm>
Subject: incorrect sys_lib_search_path_spec with mingw cross compiler
Date: Tue, 10 Sep 2013 15:40:16 +0300
This patch by Charles Wilson went in in 2009 between libtool-2.2.6 and
2.2.8 is causing libtool to use incorrect sys_lib_search_path_spec with
mingw cross compiler:
http://lists.gnu.org/archive/html/libtool-patches/2009-06/msg00052.html
http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=commitdiff;h=f0f99955cb283ead0817744921621d66c049709f

$ x86_64-w64-mingw32-gcc --print-search-dirs
install: /opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/
programs: =/opt/W64_180676/bin/../libexec/gcc/x86_64-w64-mingw32/4.5.4/:/opt/W64_180676/bin/../libexec/gcc/:/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/4.5.4/:/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/bin/
libraries: =/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/:/opt/W64_180676/bin/../lib/gcc/:/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/4.5.4/:/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/../lib64/:/opt/W64_180676/bin/../../cross_win64/mingw/lib/x86_64-w64-mingw32/4.5.4/:/opt/W64_180676/bin/../../cross_win64/mingw/lib/../lib64/:/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/:/opt/W64_180676/bin/../../cross_win64/mingw/lib/

With libtool-2.2.6 and older, I have this in libtool --config output:
sys_lib_search_path_spec="
/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/
/opt/W64_180676/bin/../lib/gcc/
/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/4.5.4/
/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/../lib64/
/opt/W64_180676/bin/../../cross_win64/mingw/lib/x86_64-w64-mingw32/4.5.4/
/opt/W64_180676/bin/../../cross_win64/mingw/lib/../lib64/
/opt/W64_180676/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/lib/
/opt/W64_180676/bin/../../cross_win64/mingw/lib/"

With libtool-2.2.8 and newer, including current git, it is like this:
sys_lib_search_path_spec="/opt/W64_180676/lib/gcc
/opt/W64_180676/x86_64-w64-mingw32/lib64 /opt/cross_win64/mingw/lib64
"

... which is incorrect: /opt/W64_180676/x86_64-w64-mingw32/lib64 does
exist, but it holds only gcc libs, whereas the required libs are under
/opt/W64_180676/x86_64-w64-mingw32/lib, therefore libtool -2.2.8 and
newer cannot build a dll with the following failure:

*** Warning: linker path does not have real file for library -lole32.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libole32 but no candidates were found. (...for file magic test)

*** Warning: linker path does not have real file for library -ldsound.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libdsound but no candidates were found. (...for file magic test)

*** Warning: linker path does not have real file for library -lwinmm.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libwinmm but no candidates were found. (...for file magic test)
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

.. only because it cannot find the libs. Reverting the above-mentioned
change makes it to work again.

--
O.S.




This bug report was last modified 11 years and 288 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.