Thanks for the detailed report!

Jens Schleusener <[EMAIL PROTECTED]> writes:

> 1) Only using the configure-option "--disable-nls" and the C compiler
> gcc 4.0.0 the wget-binary builds successfully

I'd be interested in seeing the error log without --disable-nls and/or
with the system compiler.

> although gcc outputs
> some compiler warnings like
>
>   convert.c: In function 'convert_all_links':
>   convert.c:95: warning: incompatible implicit declaration of built-in
>                          function 'alloca'

The alloca-declaring magic in config-post.h (taken from the Autoconf
manual) apparently doesn't take into account that GCC wants alloca
declared too.

> But simply calling the new wget like
>
>   wget http://www.example.com/
>
> I got always errors like
>
>   --12:36:51--  http://www.example.com/
>             => `index.html'
> Resolving www.example.com... failed: Invalid flags in hints.

This is really bad.  Apparently your version of getaddrinfo is broken
or Wget is using it incorrectly.  Can you intuit which flags cause the
problem?  Depending on the circumstances, Wget uses AI_ADDRCONFIG,
AI_PASSIVE, and/or AI_NUMERICHOST.

> After some testing I found that using the additional
> configure-option "--disable-ipv6" solves that problem.

Because it disables IPv6 (and therefore the use of getaddrinfo)
altogether.

> 2) Using the additional configure-option "--with-ssl=/usr/local/contrib"
> fails although the openssl (0.9.7g) header files are installed under
> "/usr/local/contrib/include/openssl/" and the libssl.a under
> "/usr/local/contrib/lib/".

This is not a standard layout, so the configure script is having
problems with it.  The supported layouts are one of:

* No flags are needed, the includes are found without -I<includedir>,
  and the library gets linked in without the need for -L<libdir>.

* The library is installed in $root, which means that includes are in
  $root/include and the libraries in $root/lib.  OpenSSL's own default
  for $root is /usr/local/ssl, which Wget checks for.

To resolve situations like this, Wget should probably support
specifying additional include and library directories separately.
I believe you can work around this by specifying:

./configure CPPFLAGS=-I/usr/local/contrib/include -L/usr/local/contrib/lib

Can you check if that works for you?

> 3) Using the native IBM C compiler (CC=cc) instead GNU gcc I got the
> compile error
>
>   cc -qlanglvl=ansi -I. -I. -I/opt/include   -DHAVE_CONFIG_H
>   -DSYSTEM_WGETRC=\"/usr/local/contrib/etc/wgetrc\"
>   -DLOCALEDIR=\"/usr/local/contrib/share/locale\" -O -c main.c
>   "main.c", line 147.16: 1506-275 (S) Unexpected text ',' encountered.
>
> Simply changing line 147 of src/main.c from
>
>    OPT__PARENT,
>
> to
>
>    OPT__PARENT
>
> let the compile error vanish (sorry, I am not a C expert).
[...]

It's a newer C feature that leaked into Wget -- sorry about that.

I'll try to get these fixed in Wget 1.10.1.

Reply via email to