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.

Re: OpenSSL 1.x support?

From: Henrik Holst via curl-library <curl-library_at_lists.haxx.se>
Date: Sat, 8 Jun 2024 04:10:30 +0200

Please do reply to all so your replies goes to the list, I just found which
macro that does it and the description in there. Daniel or some one else
with deeper knowledge on why this is done are the only ones that can made
an informed decision here.

/HH

Den lör 8 juni 2024 kl 04:08 skrev Alexander Dyagilev <alervdvcw_at_gmail.com>:

> Well, this is bad, because this isystem flag is definitely not working as
> expected.
> I think it's not OpenSSL 1.x only related issue. I just did not notice it.
> I think it was still using too old v3 installed in my system instead of the
> latest version which I built on my own.
>
> On Sat, Jun 8, 2024 at 9:04 AM Henrik Holst <henrik.holst_at_millistream.com>
> wrote:
>
>> done by the m4 macro m4/curl-compilers.m4
>>
>> with this stated reason:
>>
>> dnl CURL_CONVERT_INCLUDE_TO_ISYSTEM
>> dnl -------------------------------------------------
>> dnl Changes standard include paths present in CFLAGS
>> dnl and CPPFLAGS into isystem include paths. This is
>> dnl done to prevent GNUC from generating warnings on
>> dnl headers from these locations, although on ancient
>> dnl GNUC versions these warnings are not silenced.
>>
>> /HH
>>
>> Den lör 8 juni 2024 kl 03:57 skrev Alexander Dyagilev <
>> alervdvcw_at_gmail.com>:
>>
>>> I've found the reason. It's caused by using -isystem flag. I've patched
>>> configure script to disable it and was able to successfully build curl with
>>> openssl 1.
>>> In my system, in clang system include directories, there is
>>> /usr/local/include/openssl installed (version OpenSSL 3.1.3 19 Sep 2023).
>>> So, clang was using it instead of the path I provided. Culprit - this
>>> isystem flag.
>>> So, is it curl build script bug? Why is it using this flag?
>>>
>>> On Sat, Jun 8, 2024 at 5:39 AM Henrik Holst <
>>> henrik.holst_at_millistream.com> wrote:
>>>
>>>> all of those missing symbols are functions added in OpenSSL 3.0 and the
>>>> ones used directly by curl (such as X509_STORE_load_path) are all behind
>>>> ifdefs that check for 3.0 so it sounds like your build configuration is
>>>> finding the 3.0 include files but the 1.x libs
>>>>
>>>> /HH
>>>>
>>>> Den lör 8 juni 2024 kl 00:20 skrev Alexander Dyagilev via curl-library <
>>>> curl-library_at_lists.haxx.se>:
>>>>
>>>>> Hello,
>>>>>
>>>>> Does libcurl support OpenSSL 1.x?
>>>>>
>>>>> I'm trying to build it under macOS and getting the following linker
>>>>> errors:
>>>>>
>>>>> Undefined symbols for architecture x86_64:
>>>>> "_EVP_PKEY_get0_type_name", referenced from:
>>>>> _ossl_connect_common in libcurl.a(libcurl_la-openssl.o)
>>>>> "_EVP_PKEY_get_bits", referenced from:
>>>>> _ossl_connect_common in libcurl.a(libcurl_la-openssl.o)
>>>>> "_EVP_PKEY_get_bn_param", referenced from:
>>>>> _Curl_ossl_certchain in libcurl.a(libcurl_la-openssl.o)
>>>>> "_EVP_PKEY_get_group_name", referenced from:
>>>>> _ossl_connect_common in libcurl.a(libcurl_la-openssl.o)
>>>>> "_EVP_PKEY_get_id", referenced from:
>>>>> _Curl_ossl_certchain in libcurl.a(libcurl_la-openssl.o)
>>>>> _cert_stuff in libcurl.a(libcurl_la-openssl.o)
>>>>> "_EVP_PKEY_get_security_bits", referenced from:
>>>>> _ossl_connect_common in libcurl.a(libcurl_la-openssl.o)
>>>>> "_SSL_get1_peer_certificate", referenced from:
>>>>> _ossl_connect_common in libcurl.a(libcurl_la-openssl.o)
>>>>> "_X509_STORE_load_file", referenced from:
>>>>> _Curl_ssl_setup_x509_store in libcurl.a(libcurl_la-openssl.o)
>>>>> "_X509_STORE_load_path", referenced from:
>>>>> _Curl_ssl_setup_x509_store in libcurl.a(libcurl_la-openssl.o)
>>>>>
>>>>> Builds fine when I build it with OpenSSL 3.x.
>>>>>
>>>>> If it's not supported, what is the last version which does have
>>>>> support?
>>>>> --
>>>>> Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
>>>>> Etiquette: https://curl.se/mail/etiquette.html
>>>>>
>>>>


-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2024-06-08