libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

build problem on windows


From: Andreas Otto
Subject: build problem on windows
Date: Fri, 8 May 2009 17:49:24 +0200
User-agent: KMail/1.9.10

Hi,

  this is the setup, cygwin build for mingw host

environment automake/autoconf and libtool


bash ./configure    --prefix=/tmp/libmsgque-install \
                    CC="gcc -mno-cygwin" \
                    --host=i686-pc-mingw32 \
                    --build=i686-pc-cygwin \
                        ...

the mail library have to be linked with ws2_32

problem:

======================================================================================
$ /bin/sh ../libtool --tag=CC   --mode=link 
gcc -mno-cygwin -std=gnu99 -DMQ_BUILD_LIBMSGQUE_DLL  -DMQ_EXEEXT=\".exe\" -g 
-O3 -Wall -Wcast-align  -version-info 
7:0:0 -no-undefined  -o libmsgque.la -rpath /tmp/libmsgque-install/lib 
libmsgque_la-buffer.lo libmsgque_la-cache.lo libmsgque_la-event.lo 
libmsgque_la-log.lo libmsgque_la-send.lo libmsgque_la-swap.lo 
libmsgque_la-sys_com.lo libmsgque_la-token.lo libmsgque_la-uds_io.lo 
libmsgque_la-bufferL.lo libmsgque_la-error.lo libmsgque_la-generic_io.lo 
libmsgque_la-io.lo libmsgque_la-msgque.lo libmsgque_la-read.lo 
libmsgque_la-sys.lo libmsgque_la-tcp_io.lo libmsgque_la-pipe_io.lo 
libmsgque_la-trans.lo -lws2_32
libtool: link: 
rm -fr  .libs/libmsgque.a .libs/libmsgque.la .libs/libmsgque.lai

*** Warning: linker path does not have real file for library -lws2_32.
*** 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 libws2_32 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.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
libtool: link: ar 
cru .libs/libmsgque.a .libs/libmsgque_la-buffer.o .libs/libmsgque_la-cache.o 
.libs/libmsgque_la-event.o .libs/libmsgque_la-log.o .libs/libmsgque_la-send.o 
.libs/libmsgque_la-swap.o .libs/libmsgque_la-sys_com.o 
.libs/libmsgque_la-token.o .libs/libmsgque_la-uds_io.o 
.libs/libmsgque_la-bufferL.o .libs/libmsgque_la-error.o 
.libs/libmsgque_la-generic_io.o .libs/libmsgque_la-io.o 
.libs/libmsgque_la-msgque.o .libs/libmsgque_la-read.o .libs/libmsgque_la-sys.o 
.libs/libmsgque_la-tcp_io.o .libs/libmsgque_la-pipe_io.o 
.libs/libmsgque_la-trans.o
libtool: link: ranlib .libs/libmsgque.a
libtool: link: ( cd ".libs" && rm -f "libmsgque.la" && 
ln -s "../libmsgque.la" "libmsgque.la" )

If I skip the -lws2_32 i get -> symboles not found

======================================================================================
$ /bin/sh ../libtool --tag=CC   --mode=link 
gcc -mno-cygwin -std=gnu99 -DMQ_BUILD_LIBMSGQUE_DLL  -DMQ_EXEEXT=\".exe\" -g 
-O3 -Wall -Wcast-align  -version-info 
7:0:0 -no-undefined  -o libmsgque.la -rpath /tmp/libmsgque-install/lib 
libmsgque_la-buffer.lo libmsgque_la-cache.lo libmsgque_la-event.lo 
libmsgque_la-log.lo libmsgque_la-send.lo libmsgque_la-swap.lo 
libmsgque_la-sys_com.lo libmsgque_la-token.lo libmsgque_la-uds_io.lo 
libmsgque_la-bufferL.lo libmsgque_la-error.lo libmsgque_la-generic_io.lo 
libmsgque_la-io.lo libmsgque_la-msgque.lo libmsgque_la-read.lo 
libmsgque_la-sys.lo libmsgque_la-tcp_io.lo libmsgque_la-pipe_io.lo 
libmsgque_la-trans.lo
libtool: link: 
rm -fr  .libs/libmsgque.a .libs/libmsgque.la .libs/libmsgque.lai
libtool: link: 
gcc -mno-cygwin -shared  .libs/libmsgque_la-buffer.o .libs/libmsgque_la-cache.o 
.libs/libmsgque_la-event.o .libs/libmsgque_la-log.o .libs/libmsgque_la-send.o 
.libs/libmsgque_la-swap.o .libs/libmsgque_la-sys_com.o 
.libs/libmsgque_la-token.o .libs/libmsgque_la-uds_io.o 
.libs/libmsgque_la-bufferL.o .libs/libmsgque_la-error.o 
.libs/libmsgque_la-generic_io.o .libs/libmsgque_la-io.o 
.libs/libmsgque_la-msgque.o .libs/libmsgque_la-read.o .libs/libmsgque_la-sys.o 
.libs/libmsgque_la-tcp_io.o .libs/libmsgque_la-pipe_io.o 
.libs/libmsgque_la-trans.o    -mno-cygwin   -o .libs/libmsgque-7.dll 
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker 
.libs/libmsgque.dll.a
.libs/libmsgque_la-event.o: In function `pEventStart':
/home/dev1usr/Project/libmsgque/src/event.c:367: undefined reference to 
address@hidden'
.libs/libmsgque_la-sys_com.o: In function `SysWSAStartup':
/home/dev1usr/Project/libmsgque/src/sys_com.c:114: undefined reference to 
address@hidden'
/home/dev1usr/Project/libmsgque/src/sys_com.c:127: undefined reference to 
address@hidden'
/home/dev1usr/Project/libmsgque/src/sys_com.c:128: undefined reference to 
address@hidden'
.libs/libmsgque_la-sys_com.o: In function `SysWSACleanup':
/home/dev1usr/Project/libmsgque/src/sys_com.c:141: undefined reference to 
address@hidden'
/home/dev1usr/Project/libmsgque/src/sys_com.c:142: undefined reference to 
address@hidden'
.libs/libmsgque_la-sys_com.o: In function `SysAccept':
/home/dev1usr/Project/libmsgque/src/sys_com.c:159: undefined reference to 
address@hidden'

And now the funny stuff

If I take the "gcc" line from the second example and just put the "-lws2_32" 
at the end ...

====================================================
$ 
gcc -mno-cygwin -shared  .libs/libmsgque_la-buffer.o .libs/libmsgque_la-cache.o 
.libs/libmsgque_la-event.o .libs/libmsgque_la-log.o .libs/libmsgque_la-send.o 
.libs/libmsgque_la-swap.o .libs/libmsgque_la-sys_com.o 
.libs/libmsgque_la-token.o .libs/libmsgque_la-uds_io.o 
.libs/libmsgque_la-bufferL.o .libs/libmsgque_la-error.o 
.libs/libmsgque_la-generic_io.o .libs/libmsgque_la-io.o 
.libs/libmsgque_la-msgque.o .libs/libmsgque_la-read.o .libs/libmsgque_la-sys.o 
.libs/libmsgque_la-tcp_io.o .libs/libmsgque_la-pipe_io.o 
.libs/libmsgque_la-trans.o    -mno-cygwin   -o .libs/libmsgque-7.dll 
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker 
.libs/libmsgque.dll.a -lws2_32
Creating library file: .libs/libmsgque.dll.a

it works fine :⁾


but what is the solution ??? 

  -> libtool broke the build !!!!

is a work-around available ?



mfg

  Andreas Otto








reply via email to

[Prev in Thread] Current Thread [Next in Thread]