-
Notifications
You must be signed in to change notification settings - Fork 278
Open
Description
OS: Gentoo
LibreSSL: 3.9.2
cpp-httplib: 0.16.0
ccache
added a new dependency of cpp-httplib
which Gentoo installs system-wide and it fails during cmake.
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR: Found unsuitable version "2.0.0", but
required is at least "3.0.0" (found /usr/lib/libcrypto.so, found
components: Crypto SSL)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:601 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindOpenSSL.cmake:689 (find_package_handle_standard_args)
CMakeLists.txt:121 (find_package)
https://github.com/yhirose/cpp-httplib/blob/v0.16.0/CMakeLists.txt#L82-L84
This is easy to workaround.
sed -i 's/"3.0.0"/"2.0.0"/' CMakeLists.txt
But then it fails because LibreSSL doesn't have SSL_get1_peer_certificate
.
[1/3] Building CXX object CMakeFiles/httplib.dir/out/httplib.cc.o
samu: job failed with status 1: /usr/lib/ccache/bin/x86_64-pc-linux-musl-g++ -DCPPHTTPLIB_OPENSSL_SUPPORT -DCPPHTTPLIB_ZLIB_SUPPORT -Dhttplib_EXPORTS -isystem /var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out -O2 -pipe -fPIC -MD -MT CMakeFiles/httplib.dir/out/httplib.cc.o -MF CMakeFiles/httplib.dir/out/httplib.cc.o.d -o CMakeFiles/httplib.dir/out/httplib.cc.o -c /var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out/httplib.cc
In file included from /var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out/httplib.cc:1:
/var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out/httplib.h:273:2: error: #error Sorry, OpenSSL versions prior to 3.0.0 are not supported
273 | #error Sorry, OpenSSL versions prior to 3.0.0 are not supported
| ^~~~~
/var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out/httplib.cc: In lambda function:
/var/tmp/portage/dev-cpp/cpp-httplib-0.16.0/work/cpp-httplib-0.16.0_build-abi_x86_64.amd64/out/httplib.cc:6645:30: error: 'SSL_get1_peer_certificate' was not declared in this scope; did you mean 'SSL_get_peer_certificate'?
6645 | auto server_cert = SSL_get1_peer_certificate(ssl2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| SSL_get_peer_certificate
samu: subcommand failed
https://github.com/yhirose/cpp-httplib/blob/v0.16.0/httplib.h#L9032
Is it possible that LibreSSL can add SSL_get1_peer_certificate
in the future? Or is there a better way to avoid this?
It seems in OpenBSD the ccache
package uses the vendored copy of cpp-httplib
which doesn't have this problem (Yet?).
Metadata
Metadata
Assignees
Labels
No labels