curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder Daniel himself.

libcurl doesn't compile with --disable-aws --disable-digest-auth --without-libssh2

From: Aleksander Mazur via curl-library <curl-library_at_lists.haxx.se>
Date: Mon, 13 Jan 2025 23:28:23 +0100

Hi,

I faced following compilation errors in rev.23742ce015fc7e227e4d2838402af8fe392fb22b:
vtls/vtls_scache.c:389:9: error: implicit declaration of function 'Curl_sha256it' [-Wimplicit-function-declaration]
  389 | r = Curl_sha256it(hash, blob->data, blob->len);
      | ^~~~~~~~~~~~~
vtls/vtls_scache.c:610:16: error: implicit declaration of function 'Curl_hmacit' [-Wimplicit-function-declaration]
  610 | result = Curl_hmacit(&Curl_HMAC_SHA256,
      | ^~~~~~~~~~~

curl_sha256.h provides Curl_sha256it only under
#if !defined(CURL_DISABLE_AWS) || !defined(CURL_DISABLE_DIGEST_AUTH) \
    || defined(USE_LIBSSH2)

curl_hmac.h provides Curl_hmacit only under
#if (defined(USE_CURL_NTLM_CORE) && !defined(USE_WINDOWS_SSPI)) \
  || !defined(CURL_DISABLE_AWS) || !defined(CURL_DISABLE_DIGEST_AUTH) \
  || defined(USE_LIBSSH2)

but vtls/vtls_scache.c started to use them recently:
fa0ccd9f1f (Stefan Eissing 2024-12-18 13:22:35 +0100 389) r = Curl_sha256it(hash, blob->data, blob->len);
3428b8ad1c (Daniel Stenberg 2024-12-21 10:54:28 +0100 610) result = Curl_hmacit(&Curl_HMAC_SHA256,
515a21f350 (Stefan Eissing 2025-01-07 12:41:26 +0100 960) result = Curl_hmacit(&Curl_HMAC_SHA256,
515a21f350 (Stefan Eissing 2025-01-07 12:41:26 +0100 996) result = Curl_hmacit(&Curl_HMAC_SHA256,

My full configure line is:
./configure --disable-static --enable-shared --prefix=/usr --enable-warnings
--enable-symbol-hiding --disable-ares --enable-silent-rules --disable-largefile
--enable-versioned-symbols --enable-threaded-resolver --enable-http
--enable-cookies --disable-proxy --enable-imap --enable-smtp --disable-ftp
--disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-dict
--disable-telnet --disable-tftp --disable-pop3 --disable-gopher
--disable-manual --disable-docs --disable-libcurl-option --disable-ipv6
--disable-verbose --disable-sspi --disable-basic-auth --disable-bearer-auth
--disable-digest-auth --disable-kerberos-auth --disable-negotiate-auth
--disable-aws --disable-smb --disable-ntlm --disable-ntlm-wb --disable-mqtt
--disable-tls-srp --disable-unix-sockets --disable-socketpair
--disable-http-auth --disable-doh --disable-mime --disable-bindlocal
--disable-form-api --disable-dateparse --disable-netrc --disable-progress-meter
--disable-dnsshuffle --disable-get-easy-options --disable-alt-svc
--disable-hsts --disable-websockets --without-gnutls --with-openssl
--without-zlib --without-zstd --without-brotli --without-libssh2
--without-librtmp --without-libpsl --without-nghttp2

This configuration used to work in version 8.10.1.
The result is:
  Protocols: http https imap imaps ipfs ipns smtp smtps
  Features: AsynchDNS IDN Largefile SSL threadsafe
BTW. Largefile feature is present despite --disable-largefile.

-- 
Aleksander Mazur
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2025-01-13