Buy commercial curl support from WolfSSL. 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
himself.
Re: Compiling curl 8.0.1 with OpenSSL 3.1.0 - ../lib/.libs/libcurl.so: undefined reference to ...
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Jeffrey Walton via curl-library <curl-library_at_lists.haxx.se>
Date: Sun, 16 Apr 2023 14:23:31 -0400
On Sun, Apr 16, 2023 at 2:06 PM Rahul Sabnis via curl-library
<curl-library_at_lists.haxx.se> wrote:
>>
>> It sounds like you are not compiling against OpenSSL 3.0. You are
>> compiling against an older OpenSSL that provides the symbol
>> EVP_PKEY_id, and not the newer OpenSSL that provides the symbol
>> EVP_PKEY_get_id (with EVP_PKEY_id supplied as a #define).
>
>
> I set the environment below so that it uses the OpenSSL which I want. I compiled and installed OpenSSL 3.1.0 under /home/builder/openssl
> export CPPFLAGS="-Dlinux26 -I/home/builder/openssl/include/openssl -DOPENSSL_NO_DEPRECATED_3_0"
> export LDFLAGS="-Wl,-R/home/builder/openssl/lib64 -L/home/builder/openssl/lib64"
> export LDLIBS="-lssl -lcrypto"
>
>> Please zip cURL's config.log, and attach it to the thread.
>
> Attached zipped config.log
The problems seem to start sooner that compile and link. Configure is choking:
<SNIP>
configure:26443: checking for HMAC_Init_ex in -lcrypto
configure:26466: gcc -std=gnu11 -o conftest -fPIC
-Werror-implicit-function-declaration -O2 -Wno-system-headers
-Dlinux26 -I/home/builder/openssl/include/openssl
-DOPENSSL_NO_DEPRECATED_3_0 -Wl,-R/home/builder/openssl/lib64
-L/home/builder/openssl/lib64 conftest.c -lcrypto >&5
/tmp/cc0YufCo.o: In function `main':
conftest.c:(.text.startup+0x7): undefined reference to `HMAC_Init_ex'
collect2: error: ld returned 1 exit status
configure:26466: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list:
https://curl.se/mail/"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define PACKAGE "curl"
| #define VERSION "-"
| #define OS "x86_64-pc-linux-gnu"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define CURL_DISABLE_LDAP 1
| #define CURL_DISABLE_LDAPS 1
| #define CURL_DISABLE_RTSP 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC 1
| #define ENABLE_IPV6 1
| #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
| #define HAVE_WRITABLE_ARGV 1
| /* end confdefs.h. */
|
|
| #ifdef __cplusplus
| extern "C"
| #endif
| char HMAC_Init_ex ();
| int main (void)
| {
| return HMAC_Init_ex ();
| ;
| return 0;
| }
configure:26476: result: no
</SNIP>
Looking at https://www.openssl.org/docs/man3.0/man7/openssl_user_macros.html,
I don't see a DOPENSSL_NO_DEPRECATED_3_0.
Are you sure that is correct?
Jeff
Date: Sun, 16 Apr 2023 14:23:31 -0400
On Sun, Apr 16, 2023 at 2:06 PM Rahul Sabnis via curl-library
<curl-library_at_lists.haxx.se> wrote:
>>
>> It sounds like you are not compiling against OpenSSL 3.0. You are
>> compiling against an older OpenSSL that provides the symbol
>> EVP_PKEY_id, and not the newer OpenSSL that provides the symbol
>> EVP_PKEY_get_id (with EVP_PKEY_id supplied as a #define).
>
>
> I set the environment below so that it uses the OpenSSL which I want. I compiled and installed OpenSSL 3.1.0 under /home/builder/openssl
> export CPPFLAGS="-Dlinux26 -I/home/builder/openssl/include/openssl -DOPENSSL_NO_DEPRECATED_3_0"
> export LDFLAGS="-Wl,-R/home/builder/openssl/lib64 -L/home/builder/openssl/lib64"
> export LDLIBS="-lssl -lcrypto"
>
>> Please zip cURL's config.log, and attach it to the thread.
>
> Attached zipped config.log
The problems seem to start sooner that compile and link. Configure is choking:
<SNIP>
configure:26443: checking for HMAC_Init_ex in -lcrypto
configure:26466: gcc -std=gnu11 -o conftest -fPIC
-Werror-implicit-function-declaration -O2 -Wno-system-headers
-Dlinux26 -I/home/builder/openssl/include/openssl
-DOPENSSL_NO_DEPRECATED_3_0 -Wl,-R/home/builder/openssl/lib64
-L/home/builder/openssl/lib64 conftest.c -lcrypto >&5
/tmp/cc0YufCo.o: In function `main':
conftest.c:(.text.startup+0x7): undefined reference to `HMAC_Init_ex'
collect2: error: ld returned 1 exit status
configure:26466: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list:
https://curl.se/mail/"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define PACKAGE "curl"
| #define VERSION "-"
| #define OS "x86_64-pc-linux-gnu"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define CURL_DISABLE_LDAP 1
| #define CURL_DISABLE_LDAPS 1
| #define CURL_DISABLE_RTSP 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC 1
| #define ENABLE_IPV6 1
| #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
| #define HAVE_WRITABLE_ARGV 1
| /* end confdefs.h. */
|
|
| #ifdef __cplusplus
| extern "C"
| #endif
| char HMAC_Init_ex ();
| int main (void)
| {
| return HMAC_Init_ex ();
| ;
| return 0;
| }
configure:26476: result: no
</SNIP>
Looking at https://www.openssl.org/docs/man3.0/man7/openssl_user_macros.html,
I don't see a DOPENSSL_NO_DEPRECATED_3_0.
Are you sure that is correct?
Jeff
-- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2023-04-16