I am attempting to build root, and I noticed during cmake that I get
Not able to recognize SSL version 3.2.1, disable SSL
Using grep to find the source of this message, I found it in net/http/CMakeLists.txt:
if((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "1"))
MESSAGE(STATUS "Use SSL API VERSION 1.1 for civetweb")
target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_1_1)
set(link_ssl ON)
elseif((${ssl_major} EQUAL "3") AND ((${ssl_minor} EQUAL "0") OR (${ssl_minor} EQUAL "1")))
MESSAGE(STATUS "Use SSL API VERSION 3.${ssl_minor} for civetweb")
target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_3_0)
set(link_ssl ON)
elseif((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "0"))
MESSAGE(STATUS "Use SSL API VERSION 1.0 for civetweb")
target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_1_0)
set(link_ssl ON)
else()
MESSAGE(WARNING "Not able to recognize SSL version ${OPENSSL_VERSION}, disable SSL")
target_compile_definitions(RHTTP PUBLIC -DNO_SSL)
endif()
So clearly, OpenSSL 3.2.1 is not compatible. This leaves 3 options:
- Remove OpenSSL completely and use Apple’s XCode (what I will likely do)
- Downgrade the version of OpenSSL
- Turn off SSL in cmake and the build.
But it raised a larger question to me–Why isn’t OpenSSL 3.2 compatible? Or, is there any reason, in general, that I shouldn’t use OpenSSL 3.2?
ROOT Version: 6.30.04
Platform: MacOS 15.3 Xcode 15.2
Compiler: Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: x86_64-apple-darwin23.3.0
Thread model: posix