GNU bug report logs - #14022
libtool-gug

Previous Next

Package: libtool;

Reported by: Andreas Otto <aotto1968 <at> t-online.de>

Date: Fri, 22 Mar 2013 00:37:04 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Peter Rosin <peda <at> lysator.liu.se>
To: Andreas Otto <aotto1968 <at> t-online.de>
Cc: 14022 <at> debbugs.gnu.org
Subject: bug#14022: libtool-gug
Date: Fri, 22 Mar 2013 09:34:13 +0100
[please stay on-list, quoting in full to preserve the context]

On 2013-03-22 09:03, Andreas Otto wrote:
> Am 22.03.2013 08:14, schrieb Peter Rosin:
>> Hi Andreas!
>>
>> On 2013-03-21 15:41, Andreas Otto wrote:
>>> Hi,
>>>
>>> the following code has an error:
>> I don't think so, see below...
>>
>>> # func_convert_core_msys_to_w32 ARG
>>> # Convert file name or path ARG from MSYS format to w32 format. Return
>>> # result in func_convert_core_msys_to_w32_result.
>>> func_convert_core_msys_to_w32 ()
>>> {
>>>    $opt_debug
>>>    # awkward: cmd appends spaces to result
>>>    func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
>>>      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
>>> }
>>> #end: func_convert_core_msys_to_w32
>>>
>>> I need "...cmd /c ..." to get my stuff compiled
>> *snip*
>>
>>> $ cygpath -V
>>> cygpath (cygwin) 1.7.17
>> cygpath? If you are reporting the cygpath version and say that
>> you need "...cmd /c..." instead of "...cmd //c...", then it
>> sounds as if you have confused MSYS and Cygwin. The function
>> func_convert_core_msys_to_w32 should only be used when you
>> are using MSYS. It's not for Cygwin.
>>
>> On Cygwin, it is best to use a Cygwin-hosted cross compiler.
>> If you want to run a MinGW-hosted compiler, it's best to
>> use MSYS. But you still can (if you obey the rules) use
>> a MinGW-hosted compiler from Cygwin, but in that case you
>> want to use func_convert_file_cygwin_to_w32.
>>
>> My advise is that you read this chapter carefully:
>> http://www.gnu.org/software/libtool/manual/libtool.html#File-name-conversion
>>
>> Cheers,
>> Peter
>>
> Hi,
> 
> I'm working on cygwin no MSYS
> 
> I've done a freash cygwin installation
> I'm using ONLY tools from cygwin
> I use the compiler
> 
> $ export | grep w64
> declare -x CC="x86_64-w64-mingw32-gcc"
> declare -x CXX="x86_64-w64-mingw32-g++"
> 
> I use the
> --build=x86_64-w64-mingw32
> 
> everything ONLY from cygwin
> 
> compile....
> $ make -j 2
> (CDPATH="${ZSH_VERSION+.}:" && cd /home/dev1usr/Project/NHI1 && /bin/bash /home/dev1usr/Project/NHI1/missing --run autoheader)
> rm -f stamp-h1
> touch /home/dev1usr/Project/NHI1/mqconfig.h.in
> cd . && /bin/bash ./config.status mqconfig.h
> config.status: creating mqconfig.h
> config.status: mqconfig.h is unchanged
> make  all-recursive
> make[1]: Entering directory `/build/dev1usr/Main/thread'
> Making all in theLink
> make[2]: Entering directory `/build/dev1usr/Main/thread/theLink'
> Making all in sqlite
> make[3]: Entering directory `/build/dev1usr/Main/thread/theLink/sqlite'
> /bin/sh ../../libtool  --tag=CC   --mode=compile x86_64-w64-mingw32-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/dev1usr/Project/NHI1/theLink/sqlite -I../..   -D_DEBUG -D_HAVE_SQLITE_CONFIG_H  -g -Wall -Wcast-align -g -O2 -MT libtmp_la-sqlite3.lo -MD -MP -MF .deps/libtmp_la-sqlite3.Tpo -c -o libtmp_la-sqlite3.lo `test -f 'sqlite3.c' || echo '/home/dev1usr/Project/NHI1/theLink/sqlite/'`sqlite3.c
> /bin/sh ../../libtool  --tag=CC   --mode=compile x86_64-w64-mingw32-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/dev1usr/Project/NHI1/theLink/sqlite -I../..   -D_DEBUG -D_HAVE_SQLITE_CONFIG_H -static  -g -Wall -Wcast-align -g -O2 -MT libtmps_la-sqlite3.lo -MD -MP -MF .deps/libtmps_la-sqlite3.Tpo -c -o libtmps_la-sqlite3.lo `test -f 'sqlite3.c' || echo '/home/dev1usr/Project/NHI1/theLink/sqlite/'`sqlite3.c
> libtool: compile:  x86_64-w64-mingw32-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/dev1usr/Project/NHI1/theLink/sqlite -I../.. -D_DEBUG -D_HAVE_SQLITE_CONFIG_H -g -Wall -Wcast-align -g -O2 -MT libtmps_la-sqlite3.lo -MD -MP -MF .deps/libtmps_la-sqlite3.Tpo -c /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c -o libtmps_la-sqlite3.o
> libtool: compile:  x86_64-w64-mingw32-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/dev1usr/Project/NHI1/theLink/sqlite -I../.. -D_DEBUG -D_HAVE_SQLITE_CONFIG_H -g -Wall -Wcast-align -g -O2 -MT libtmp_la-sqlite3.lo -MD -MP -MF .deps/libtmp_la-sqlite3.Tpo -c /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c  -DDLL_EXPORT -DPIC -o .libs/libtmp_la-sqlite3.o
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c: In function 'memTracePrint':
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63824:5: warning: unknown conversion type character 'l' in format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63824:5: warning: too many arguments for format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63826:5: warning: unknown conversion type character 'l' in format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63826:5: warning: too many arguments for format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c: In function 'memTracePrint':
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63824:5: warning: unknown conversion type character 'l' in format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63824:5: warning: too many arguments for format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63826:5: warning: unknown conversion type character 'l' in format
> /home/dev1usr/Project/NHI1/theLink/sqlite/sqlite3.c:63826:5: warning: too many arguments for format
> mv -f .deps/libtmp_la-sqlite3.Tpo .deps/libtmp_la-sqlite3.Plo
> /bin/sh ../../libtool --tag=CC    --mode=link x86_64-w64-mingw32-gcc -std=gnu99 -D_HAVE_SQLITE_CONFIG_H   -g -Wall -Wcast-align -g -O2 -o libtmp.la  libtmp_la-sqlite3.lo
> mv -f .deps/libtmps_la-sqlite3.Tpo .deps/libtmps_la-sqlite3.Plo
> /bin/sh ../../libtool --tag=CC    --mode=link x86_64-w64-mingw32-gcc -std=gnu99 -D_HAVE_SQLITE_CONFIG_H -static   -g -Wall -Wcast-align -g -O2 -static  -o libtmps.la  libtmps_la-sqlite3.lo
> libtool: link: ar cru .libs/libtmps.a  libtmps_la-sqlite3.o
> libtool: link: ranlib .libs/libtmps.a
> libtool: link: ( cd ".libs" && rm -f "libtmps.la" && ln -s "../libtmps.la" "libtmps.la" )
> 
> HANG
> 
> now with a littel bit debugging
> 
>> $ sh -xv ../../libtool --tag=CC    --mode=link x86_64-w64-mingw32-gcc -std=gnu99 -D_HAVE_SQLITE_CONFIG_H   -g -Wall -Wcast-align -g -O2   -o libtmp.la  libtmp_la-sqlite3.lo
> 
> + func_dirname_result=
> + xdir=
> + test .libs/libtmp_la-sqlite3.o '!=' none
> + pic_object=.libs/libtmp_la-sqlite3.o
> + test '' = dlfiles
> + test '' = dlprefiles
> + libobjs+=' .libs/libtmp_la-sqlite3.o'
> + arg=.libs/libtmp_la-sqlite3.o
> + test none '!=' none
> + non_pic_object=.libs/libtmp_la-sqlite3.o
> + non_pic_objects+=' .libs/libtmp_la-sqlite3.o'
> + test -n .libs/libtmp_la-sqlite3.o
> + compile_command+=' .libs/libtmp_la-sqlite3.o'
> + finalize_command+=' .libs/libtmp_la-sqlite3.o'
> + test 0 -gt 0
> + test -n ''
> + test no = yes
> + oldlibs=
> + func_basename libtmp.la
> + func_basename_result=libtmp.la
> + outputname=libtmp.la
> + libobjs_save=' .libs/libtmp_la-sqlite3.o'
> + test -n PATH
> + eval 'shlib_search_path=`$ECHO' '"${PATH}"' '|' '$SED' ''\''s/:/' '/g'\''`'
> shlib_search_path=`$ECHO "${PATH}" | $SED 's/:/ /g'`
> $ECHO "${PATH}" | $SED 's/:/ /g'
> +++ printf '%s\n' '/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Broadcom/Broadcom 802.11/Driver:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static'
> +++ /usr/bin/sed 's/:/ /g'
> ++ shlib_search_path='/usr/local/bin /usr/bin /cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live /cygdrive/c/Windows/system32 /cygdrive/c/Windows /cygdrive/c/Windows/System32/Wbem /cygdrive/c/Windows/System32/WindowsPowerShell/v1.0 /cygdrive/c/Program Files/Broadcom/Broadcom 802.11/Driver /cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static'
> + eval 'sys_lib_search_path="/usr/x86_64-w64-mingw32/lib64' /usr/x86_64-w64-mingw32/sys-root/mingw/lib '"'
> sys_lib_search_path="/usr/x86_64-w64-mingw32/lib64 /usr/x86_64-w64-mingw32/sys-root/mingw/lib "
> ++ sys_lib_search_path='/usr/x86_64-w64-mingw32/lib64 /usr/x86_64-w64-mingw32/sys-root/mingw/lib '
> + eval 'sys_lib_dlsearch_path="/lib' '/usr/lib"'
> sys_lib_dlsearch_path="/lib /usr/lib"
> ++ sys_lib_dlsearch_path='/lib /usr/lib'
> + func_dirname libtmp.la / ''
> + case ${1} in
> + func_dirname_result=
> + output_objdir=.libs
> + func_to_tool_file .libs/
> + :
> + case ,$2, in
> + func_convert_file_msys_to_w32 .libs/
> + :
> + func_to_host_file_result=.libs/
> + test -n .libs/
> + func_convert_core_msys_to_w32 .libs/
> + :
> ( cmd //c echo "$1" ) 2>/dev/null |
>     $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"
> ++ /usr/bin/sed -e 's/[ ]*$//' -e 's|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
> 
> HANG
> 
> => are you convinced?
> 
> 
> mfg AO
> 

No, not convinced.

Your error is that you have specified --build incorrectly.
You are building on Cygwin with a Cygwin-hosted compiler,
which means that --build should be something-cygwin (but
you should leave configure to autodetect the specifics).
What you want to do is to specify --host=x86_64-w64-mingw32
since you are building for a MinGW host.

Cheers, and hope that helps,
Peter





This bug report was last modified 12 years and 92 days ago.

Previous Next


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