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.ho...@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 <alervd...@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.ho...@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@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

Reply via email to