Package: libtool;
Reported by: Andreas Otto <aotto1968 <at> t-online.de>
Date: Fri, 22 Mar 2013 00:37:04 UTC
Severity: normal
Message #14 received at 14022 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Otto <aotto1968 <at> t-online.de> To: Peter Rosin <peda <at> lysator.liu.se> Cc: 14022 <at> debbugs.gnu.org Subject: Re: bug#14022: libtool-gug Date: Fri, 22 Mar 2013 10:04:13 +0100
Am 22.03.2013 09:34, schrieb Peter Rosin: > [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 > Stopp, you are right and not right at the same time. I using cygwin to build a windows native library -> this mean WITHOUT any cygwin specific libraray => so, I'm using cygwin in cross-compiling mode ;-) NOW i found the error (with the help of you) I used "--build=x86_64-w64-mingw32" but I need "--host=x86_64-w64-mingw32" to enable cross-compiling to make this error not happen again, I add an error-ckeck to my "configure.ac" script .... if test "$build_os" = "mingw32"; then AC_MSG_ERROR([as '--build=...' only cygwin is supported -> keep it unchanged if you are working in a cygwin toolchan to enable cross-compiling mode you have to specify -> --host=x86_64-w64-mingw32]) elif test "$build_os" = "cygwin"; then ... Thanks for your help. mfg AO
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.