W3C home > Mailing lists > Public > www-lib@w3.org > April to June 2004

libwww-5.4.0 cygwin build patch (was: Re: libwww compilation)

From: Gerrit P. Haase <freeweb@nyckelpiga.de>
Date: Mon, 10 May 2004 11:07:34 +0200
Message-ID: <39506576107.20040510110734@familiehaase.de>
To: jeremy ekers <jeremy@ekers.idps.co.uk>
Cc: cygwin@cygwin.com, www-lib@w3.org

Hi Jeremy,

It is a really ugly patch now.  I didn't resolved the problem with using
the system expat instead of the included, but I still recommend to fix
this issue and use the system expat library.

The patch is ugly because the circular dependencies are a nightmare.  I
wonder why the split of all the code into so many small libraries, why
not use one libwww for all?

Changes:

All the code of libwwwdir and libwwwfile are now in one library called
libwwwdirfile, you may use symlinks in /usr/lib if you need the old 
names:
libwwwdir.a -> libwwwdirfile.a
libwwwdir.la -> libwwwdirfile.dll.a
libwwwdir.dll.a -> libwwwdirfile.la
and
libwwwfile.a -> libwwwdirfile.a
libwwwfile.la -> libwwwdirfile.la
libwwwfile.dll.a -> libwwwdirfile.dll.a
(No need & it doesn't work to link the DLLs).

There are some other changes, the SSL library directory moves one up
since it cannot be compiled without building the libwww core parts at 
first.

libwwwdav requires a function in libwwwapp which isn't compiled when
building it, so I moved this function from libwwwapp to libwwwdav and it
seems that this is the right place because it is never used elsewhere.

The Makefile.am for libwwwwais is not fixed, if you want to build with 
libwwwwais, see in Makefile.am what I did for the other libraries.

Since the patch is really huge, I provide just a link to my webserver
where you may fetch it:
http://anfaenger.de/cygwin/cygwin-1.5/libwww/
Precompiled binary: w3c-libwww-5.4.0-1.tar.bz2
Patch: w3c-libwww-5.4.0-1.patch.bz2
Original source package: w3c-libwww-5.4.0.tgz

There is another bug (libtool/autoconf/automake, I don't know which of
them), so I provide also the Makefile where I changed some lines
manually, so if you run into problems, look into the file 
Library/Examples/Makefile.cygwin, compare with the generated Makefile 
and see what I've changed to resolve it. 

Regards,
Gerrit



Gerrit wrote:

> Hmmm, it is problematic to build it with shared libraries.  Circular
> dependencies are not possible on Cygwin/Windows (libwwwdir requires
> libwwwfile which requires libwwwdir or the other way round).
> The same with the optional parts, libwwwxml, libwwwdav, libwwwzip
> require libwwwapp which requires the other three to build...

> Easiest approach would be to put all in one library, call it `libwww'
> and then build the executables against this instead of using more than a
> dozen small libs.

> Currently the build is halted, seems to be not that easy when the expat,
> zip and dav parts should be included.

> I'll try to get it up somehow, wait a minute.

> Gerrit


> -- 
> Gerrit wrote:

>> jeremy wrote:

>> I'm building libwww-5.4.0 right now and I hope it will be finished
>> today, I will post a patch against the 5.4.0 sources then.

>> Gerrit


>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1



>>> Following on from my earlier post, I have compiled libwww v5.4 without
>>> the expat contained within it, using

>>>         configure --without-expat

>>> but this doesn't work with the latest CVS; it tries to compile it
>>> anyway. Does this mean that part of libwww won't work? My final
>>> destination in all this is compiling xmlrpc-c.

>>> ahnkle wrote:

>>> |
>>> | Hi
>>> |
>>> | I am trying to compile libwww, but not having much success. Has anyone
>>> | compiled the latest CVS recently? I have looked through the mailing
>>> | lists for cygwin and libwww, and the cygwin FAQ.
>>> |
>>> | During the making of expat, one of the libwww libraries, I get the
>>> | following:
>>> |
>>> |
>>> ====================================================================
>>> | | /bin/bash ./libtool --silent --mode=link gcc -g -O2 -Wall
>>> | -Wmissing-prototypes -Wstrict-prototypes -fexceptions   -I./lib -I.
>>> | -no-undefined -version-i
>>> | | nfo 4:0:4 -rpath /usr/local/lib  -o libexpat.la lib/xmlparse.lo
>>> | lib/xmltok.lo lib/xmlrole.lo
>>> | |
>>> |
>>> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../libcygwin.a(libcmain.o)(.text+0x7c):

>>> |
>>> | undefined reference to `_WinMain@16'
>>> |
>>> ====================================================================
>>> |
>>> | Any help welcome.

-- 
=^..^=                                     http://nyckelpiga.de/donate.html
Received on Monday, 10 May 2004 05:16:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:44 GMT