libsoup on MS Windows problems



Hi,

I've tried to build and install libsoup-2.29.91 on windows.
(Actually I started to try with stable libsoup-2.28.2, but got a lot of problems with the configure script.)

OS: Windows XP
Compiler etc.:  MinGW
GLIB: glib-2.22.4 build from win32 source from gtk.org.

If I just ran:
./configure
I got problems that it could not find GLIB.
glib has been configured and installed with default prefix /usr/local

I added PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

./configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

Everything went ok.
But I found it a little strange that I had to add PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

In the make stage
make
I got some warnings:

<cite>
*** Warning: linker path does not have real file for library -lshlwapi.
*** 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 libshlwapi and none of the candidates passed a file format test
*** using a file magic. Last file checked: /mingw/lib/gcc/mingw32/3.4.2/../../..//libshlwapi.a

*** Warning: linker path does not have real file for library -ldnsapi.
*** 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 libdnsapi and none of the candidates passed a file format test
*** using a file magic. Last file checked: /mingw/lib/gcc/mingw32/3.4.2/../../..//libdnsapi.a

*** 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 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /mingw/lib/gcc/mingw32/3.4.2/../../..//libole32.a

*** Warning: linker path does not have real file for library -lxml2.
*** 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 libxml2 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /c/GTK/bin/libxml2.dll_old

*** Warning: linker path does not have real file for library -lz.
*** 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 libz and none of the candidates passed a file format test
*** using a file magic. Last file checked: /usr/lib//libz.lib_old

*** Warning: linker path does not have real file for library -liconv.
*** 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 libiconv and none of the candidates passed a file format test
*** using a file magic. Last file checked: /usr/lib//libiconv.lib

*** 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 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /mingw/lib/gcc/mingw32/3.4.2/../../..//libws2_32.a
*** 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.
</cite>

The first three warnings about libshlwapi.a, libdnsapi.a and libole32.a I find a little strange, at they are part of the w32api downloaded from the MinGW site, and do not have these as shared libraries. And I can't even see any simple way to make them shared.

Well, the make didn't end with an error, so I tried to run

make install

No problems here.

After this I tried to build my gui application that can be build both with and without libsoup. When I tried to build with libsoup support on MS Windows I got the following linking errors:

C:/msys/1.0/local/lib/libsoup-2.4.a(soup-session.o): I funktionen "cancel_message": C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-session.c:1666: undefined reference to `g_cancellable_cancel' C:/msys/1.0/local/lib/libsoup-2.4.a(soup-session.o): I funktionen "soup_session_init": C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-session.c:195: undefined reference to `g_resolver_get_default' C:/msys/1.0/local/lib/libsoup-2.4.a(soup-address.o): I funktionen "set_property": C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:274: undefined reference to `htons 4' C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:285: undefined reference to `htons 4' C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:296: undefined reference to `ntohs 4' C:/msys/1.0/local/lib/libsoup-2.4.a(soup-address.o): I funktionen "soup_address_make_inet_address": C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:476: undefined reference to `g_socket_address_new_from_native' C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:478: undefined reference to `g_inet_socket_address_get_address' C:/msys/1.0/local/lib/libsoup-2.4.a(soup-address.o): I funktionen "soup_address_get_physical": C:/msys/1.0/home/ean/Projects/libraries/libsoup/libsoup-2.29.91/libsoup/soup-address.c:513: undefined reference to `g_inet_address_to_string' C:/msys/1.0/local/lib/libsoup-2.4.a(soup-address.o): I funktionen "update_addrs":

etc. etc.

It looks like libsoup can not find references to functions defined in glib.
But other parts of the application do not have problems to find glib, which I did verify simply by compiling without libsoup support.

Furthermore, on Linux, I have no problems with libsoup and my application.

Do someone have pointers to what I'm doing wrong with libsoup and can guide me to solve this problem on MS Windows.

Best regards
Egon Andersen


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