On 12/29/18 8:18 AM, Jeffrey Walton wrote:
> Hi Everyone,
> 
> I'm testing a bootstrap build of Wget. It only includes (1) Wget, and
> (2) OpenSSL; and nothing more. Wget static links to OpenSSL to avoid
> those festering path problems that plague Linux.
> 
> Wget was configured with --prefix=$HOME/bootstrap and
> --without-libunistring-prefix, but it appears config is picking up a
> copy of libunistring in /usr/local:
> 
>     [jwalton@localhost]$ ldd $HOME/bootstrap/bin/wget
>         librt.so.1 => /lib/tls/librt.so.1 (0x00a46000)
>         libunistring.so.2 => not found
>         libc.so.6 => /lib/tls/libc.so.6 (0x00bb0000)
>         libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0013d000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00b98000)
> 
> The is no libunistring in /usr/lib.
> 
> Later, it causes a runtime failure because some genius thought it was
> a good idea compile and link against a library, then lose the library
> at runtime (or worse, link to the wrong library with the same name):
> 
>     [jwalton@localhost]$ $HOME/bootstrap/bin/wget --version
>     /home/jwalton/bootstrap/bin/wget: error while loading shared libraries:
>     libunistring.so.2: cannot open shared object file: No such file or 
> directory
> 
> If I rm /usr/local then things work as expected.
> 
> I believe --without-libunistring-prefix is not being honored by the
> configure scripts.

Why not also linking libunistring statically ?

We build wget and it's fuzzers statically (except libc6) for oss-fuzz.

This includes static builds + installs of libunistring, libidn2, libpsl,
nettle and gnutls.

You can view to Dockerfile and build script by
  git clone https://github.com/google/oss-fuzz
  ls -la oss.fuzz/projects/wget/

Regards, Tim

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to