- From: Phil Nitschke <Phil.Nitschke@youramigo.com>
- Date: 06 Nov 2001 12:06:39 +1030
- To: www-lib@w3.org
Hello,
I found these errors in the libwww source; no doubt not too many people
compile the code with the same options as I did ;-). In brief:
* HTDNS.c
GETHOSTBYNAME_R should be replaced with HAVE_GETHOSTBYNAME_R,
throughout.
* HTSQL.c
Compilation error. Here is the required patch:
diff -w -i -b -r2.2 HTSQL.c
41c41
< struct * pgmt = gmtime_r(&t, &gmt);
---
> struct tm *pgmt = gmtime_r(&t, &gmt);
* System files (e.g. <assert.h>) included _before_ wwwsys.h (and thereby
bypassing the output of "configure"); these generate warnings on my
system:
Library/src/SGML.c
PICS-client/src/CSApp.c
LineMode/src/GridText.c
* Link Errors
When configuring using --with-socks, the code would not link, due
to some undefined references. My system only has libsocks4
installed. Full details are found below.
* --enable-posix
Why is it necessary (in configure.in, around line 990) to both
AC_DEFINE(_POSIX_SOURCE) and add -D_POSIX_SOURCE to the CFLAGS ?
(Why isn't the first approach sufficient?)
Now the boring details:
My System: Debian/GNU Linux 2.4.4 i686 unknown
Tools: "up-to-date" versions of gcc, automake, autoconf, libtool, etc.
Configuration: this configuration did _not_ work:
./configure \
--enable-reentrant \
--enable-signals \
--prefix=/usr \
--with-gnu-ld \
--with-mysql=mysqlclient \
--with-regexp \
--with-socks \
--with-ssl \
--with-zlib
Relevant configure output:
checking whether to support direct WAIS access.... no
checking whether to support zlib compress/decompress... yes
checking whether to support POSIX regex... no
checking whether to support SOCKS... yes
checking for SOCKSconnect in -lsocks5... (cached) no
checking for Rconnect in -lsocks... (cached) yes
checking whether to support mysql access.... yes
checking for mysqlclient... -L. -lmysqlclient
checking whether we include the Expat XML parser.... yes
checking whether we include MD5 support for HTTP Digest Authentication.... yes
checking whether we can find OpenSSL... yes
checking whether to use internal signal handlers... yes
checking whether to disable Nagle's algorithm... yes
checking whether to accept new rule files without asking an end user.... no
checking whether to disable HTTP/1.1 pipelining... no
checking whether to use MUX as transport for HTTP.... no
checking whether to define _REENTRANT... yes
checking for ctime_r... yes, and it takes 2 arguments
checking for readdir_r... yes, and it takes 3 arguments
checking for gethostbyname_r... yes, and it takes 6 arguments
checking for gethostbyaddr_r... yes, and it takes 8 arguments
checking for getlogin_r... yes, and it returns an int
checking whether to define _POSIX_SOURCE... no
* The compilation error, due to --enable-socks being passed to configure:
Installed library is libsocks4 Version: 4.3.beta2-11.1
make[3]: Entering directory `/users/phil/ROBOTS_SPIDERS_ETC/src/w3c-libwww-ssl-5.3.2/Library/Examples'
/bin/sh ../../libtool --mode=link gcc -g -O2 -D_REENTRANT -o head head.o ../src/libwwwinit.la ../src/libwwwapp.la ../../Library/src/libwwwxml.la ../../modules/expat/xmlparse/libxmlparse.la ../../modules/expat/xmltok/libxmltok.la ../src/libwwwhtml.la ../src/libwwwtelnet.la ../src/libwwwnews.la ../src/libwwwhttp.la ../src/libwwwmime.la ../src/libwwwgopher.la ../src/libwwwftp.la ../src/libwwwdir.la ../src/libwwwcache.la ../src/libwwwstream.la ../src/libwwwfile.la ../src/libwwwmux.la ../src/libwwwtrans.la ../src/libwwwcore.la ../src/libwwwutils.la ../../Library/src/SSL/libwwwssl.la -lm ../../Library/src/libwwwzip.la ../../Library/src/libwwwsql.la ../../modules/md5/libmd5.la -lsocks -ldl -lz -L. -lmysqlclient -L/usr/lib -lssl -lcrypto
gcc -g -O2 -D_REENTRANT -o .libs/head head.o ../src/.libs/libwwwinit.so -lsocks -ldl -lz -L. -lmysqlclient -L/usr/lib -lssl -lcrypto ../src/.libs/libwwwapp.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../Library/src/.libs/libwwwxml.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../modules/expat/xmlparse/.libs/libxmlparse.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../modules/expat/xmltok/.libs/libxmltok.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwhtml.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwtelnet.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwnews.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwhttp.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwmime.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwgopher.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwftp.so -lsocks -ldl -lz -lmysqlclient -lssl -lcr!
ypto ../src/.libs/libwwwdir.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwcache.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwstream.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwfile.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwmux.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwtrans.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwcore.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../src/.libs/libwwwutils.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../Library/src/SSL/.libs/libwwwssl.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto -lm ../../Library/src/.libs/libwwwzip.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../Library/src/.libs/libwwwsql.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto ../../modules/md5/.libs/libmd5.so -lsocks -ldl -lz -lmysqlclient -lssl -lcrypto -lsocks -ldl -lz -L. -lmysqlclient -L/usr/lib -lssl -lcrypto
../src/.libs/libwwwapp.so: undefined reference to `Rfclose'
../src/.libs/libwwwftp.so: undefined reference to `Rclose'
../src/.libs/libwwwtrans.so: undefined reference to `Rread'
../src/.libs/libwwwtrans.so: undefined reference to `Rwrite'
../src/.libs/libwwwcore.so: undefined reference to `Rgetpeername'
collect2: ld returned 1 exit status
make[3]: *** [head] Error 1
make[3]: Leaving directory `/users/phil/ROBOTS_SPIDERS_ETC/src/w3c-libwww-ssl-5.3.2/Library/Examples'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/users/phil/ROBOTS_SPIDERS_ETC/src/w3c-libwww-ssl-5.3.2/Library'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/users/phil/ROBOTS_SPIDERS_ETC/src/w3c-libwww-ssl-5.3.2'
make: *** [all-recursive-am] Error 2
make: Leaving directory `/users/phil/ROBOTS_SPIDERS_ETC/src/w3c-libwww-ssl-5.3.2'
I did get the system to compile with this configure line:
./configure \
--enable-nagle \
--enable-posix \
--enable-reentrant \
--enable-signals \
--prefix=/usr \
--with-gnu-ld \
--with-mysql=mysqlclient \
--with-regexp \
--with-ssl \
--with-zlib
A final question: is Jose Kahan (or anyone else) still patching the
source, particularly with fixes to blatant bugs?
TIA,
--
Phil +----------------------------------------------------------+(\
_/_) YourAmigo Pty Ltd http://www.YourAmigo.com/ |( \
_/// / _ ================= Phone Intl.: +61-8-8211-9211 _ |_) )_
(((( (| /_) mailto:Phil.Nitschke@YourAmigo.com (_\ |/ /)))
\\\\ \_/ / Address: <standard> \ \_/ ////
\ / 80 Gilbert Street, Adelaide <disclaimers> \ /
) _/ South Australia 5000 Australia <apply> \_ (
/ /----------------------------------------------------------\ \
/ / \ \
Received on Monday, 5 November 2001 20:36:45 UTC