bug-wget
[Top][All Lists]
Advanced

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

Re: Undefined reference to gnutls_protocol_set_priority() when compiling


From: Stephen Kirby
Subject: Re: Undefined reference to gnutls_protocol_set_priority() when compiling latest wget version
Date: Fri, 15 May 2020 11:08:41 -0600

Petr/Everyone,

Thanks so much for your detailed recommendations on how to proceed.  You
were spot on regarding gnutls_priority_set_direct.  I looked at config.log
and noticed configure was failing due to a missing pthread lib.  I inserted
that, then had to fix some other missing symbols.  Anyway, I have a
statically linked wget that I have now pushed onto the Google Pixel
Emulated phone I have running via Android Studio.

I can definitely move this question to another forum if you all believe it
better since it involves an emulated Google Pixel phone now (x86_64 arch.),
but it has to do with wget still, so if I may please:

on the emulated phone, I am trying:

wget -O filename http://###.##.###.## (i.e., here I use the IP address
found via nslookup on the named URL)

Then, I get:
HTTP request sent, awaiting response... 302 object moved
Location: https://(here it lists the correctly named URL)
Resolving (named URL)... Failed: Name or Server not known
wget: unable to resolve host address "named URL"

I'll note that this wget call works perfectly on my Debian Linux
system, downloading the file I need.
Also interesting to me is the fact that I can ping _successfully_ both the
URL by name or its associated IP address, on the emulated phone  So, not
sure why wget would throw this error.

Thanks for any advice!
Best,
Steve

On Tue, May 12, 2020 at 11:46 PM Petr Pisar <address@hidden> wrote:

> On Tue, May 12, 2020 at 05:34:22PM -0600, Stephen Kirby wrote:
> > I'm using GnuTLS version 3.6.13.  I believe it is the latest.  If anyone
> > knows otherwise please let me know.
> >
> > Sorry for the delay in getting back to you Tim (was swamped this morning)
> > and thanks for your fast response!  I double-checked the versions of
> GnuTLS
> > and wget I am using.  Both are the absolute latest (gnutls-3.6.13 and
> > wget-1.20.3).  As such, I am not sure why the latest wget (in
> src/gnutls.c)
> > would employ a deprecated/removed function, specifically,
> > "gnutls_protocol_set_priority()?  Do you recommend stepping back to an
> > older version of GnuTLS to get around this and if so which one would
> work?
> > Otherwise, would anyone know of a patch for the wget source code,
> > specifically, for the file  /src/gnutls.c so I can use the latest
> versions
> > of GnuTLS and wget?  Thanks so much.
> >
> I have also these latest versions and I do not observe your problem.
>
> Indeed GnuTLS version 3.6.13 does not provide gnutls_protocol_set_priority
> symbol. It provides gnutls_priority_set_direct. You can check it by
> inspecting
> the library:
>
> $ nm -D /usr/lib64/libgnutls.so.30.27.0 |grep gnutls_priority_set_direct
> 0000000000052bc0 T gnutls_priority_set_direct
> $ nm -D /usr/lib64/libgnutls.so.30.27.0 |grep gnutls_protocol_set_priority
>
> If you read wget code, you will find out that
> gnutls_protocol_set_priority()
> function is used only if HAVE_GNUTLS_PRIORITY_SET_DIRECT C preprocessor
> macro
> is not defined. Please check src/config.h generated after running
> ./configure.
> I bet it defines it.
>
> If that's so, you need to find out why the configure check was unable to
> discover support for gnutls_priority_set_direct. configure does this:
>
>     for ac_func in gnutls_priority_set_direct
> do :
>   ac_fn_c_check_func "$LINENO" "gnutls_priority_set_direct"
> "ac_cv_func_gnutls_priority_set_direct"
> if test "x$ac_cv_func_gnutls_priority_set_direct" = xyes; then :
>   cat >>confdefs.h <<_ACEOF
> #define HAVE_GNUTLS_PRIORITY_SET_DIRECT 1
> _ACEOF
>
> I recommed you reading config.log (around "checking for
> gnutls_priority_set_direct" line) to find it out.
>
> I suspect your GnuTLS installation is botched. Probably the library and
> header
> files do not match.
>
> -- Petr
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]