Skip to content

7.75.0 fails to build when using non-threaded resolver + disabled DoH #6566

Description

@dgoerger

I'm able to reproduce this on Debian 10, Alpine Linux 3.13, OpenBSD 6.8, FreeBSD 12.2, and NetBSD 9.1. This combination of build flags worked as recently as 7.74.0 and might be related to recent refactoring of the resolver code.

I did this

$ ./configure --disable-threaded-resolver --disable-doh
<snip>
configure: Configured to build curl/libcurl:
                                                                    
  Host setup:       x86_64-pc-linux-musl
  Install prefix:   /usr/local                                      
  Compiler:         gcc                                             
   CFLAGS:          -Werror-implicit-function-declaration -O2 -Wno-system-headers -Wenum-conversion
   CPPFLAGS:                                                        
   LDFLAGS:         -L/lib   
   LIBS:            -lssl -lcrypto -lssl -lcrypto -lzstd -lz
                                  
  curl version:     7.75.0     
  SSL:              enabled (libressl)
  SSH:              no      (--with-{libssh,libssh2})
  zlib:             enabled                                         
  brotli:           no      (--with-brotli)
  zstd:             enabled (libzstd)
  GSS-API:          no      (--with-gssapi)
  TLS-SRP:          no      (--enable-tls-srp)
  resolver:         default (--enable-ares / --enable-threaded-resolver)
  IPv6:             enabled                                         
  Unix sockets:     enabled    
  IDN:              no      (--with-{libidn2,winidn})
  Build libcurl:    Shared=yes, Static=yes
  Built-in manual:  no      (--enable-manual)
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  Code coverage:    disabled                                        
  SSPI:             no      (--enable-sspi)
  ca cert bundle:   /etc/ssl/certs/ca-certificates.crt
  ca cert path:     no                                                                                                                  
  ca fallback:      no                                                                                                                  
  LDAP:             no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS:            no      (--enable-ldaps)
  RTSP:             enabled                                                                                                             
  RTMP:             no      (--with-librtmp)
  Metalink:         no      (--with-libmetalink)
  PSL:              no      (libpsl not found)                                                                                          
  Alt-svc:          enabled                                         
  HTTP1:            enabled (--with-hyper)
  HTTP2:            no      (--with-nghttp2)                                                                                            
  HTTP3:            no      (--with-ngtcp2, --with-quiche)
  ECH:              no      (--enable-ech)
  Protocols:        DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS MQTT POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
  Features:         HTTPS-proxy IPv6 NTLM NTLM_WB SSL UnixSockets alt-svc libz zstd
$ make
<snip>
hostip.c: In function 'Curl_resolv':
hostip.c:523:48: error: 'struct UrlState' has no member named 'async'
  523 |       st = data->set.resolver_start(data->state.async.resolver, NULL,
      |                                                ^
hostip.c: In function 'Curl_once_resolved':
hostip.c:1105:17: error: 'struct UrlState' has no member named 'async'
 1105 |   if(data->state.async.dns) {
      |                 ^
hostip.c:1106:34: error: 'struct UrlState' has no member named 'async'
 1106 |     conn->dns_entry = data->state.async.dns;
      |                                  ^
hostip.c:1107:16: error: 'struct UrlState' has no member named 'async'
 1107 |     data->state.async.dns = NULL;

I expected the following

clean compile

curl/libcurl version

7.75.0

operating system

uname outputs:

  • Linux debian10 4.19.0-13-amd64 docs/libcurl/libcurl.m4 bug #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
  • Linux alpine3.13 5.10.12-0-virt docs/libcurl/libcurl.m4 bug #1-Alpine SMP Tue, 02 Feb 2021 07:18:37 UTC x86_64 Linux
  • OpenBSD obsd 6.8 GENERIC#298 amd64
  • FreeBSD fbsd 12.2-STABLE FreeBSD 12.2-STABLE GENERIC amd64
  • NetBSD nbsd 9.1 NetBSD 9.1 (GENERIC) #0: Sun Oct 18 19:24:30 UTC 2020 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions