[Top][All Lists]
[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
- build problem on windows,
Andreas Otto <=