Linking openssl statically by default implies the image must have a static libcrypto.a, but not all *nixes ship that when installing openssl. In particular, RockyLinux 8 doesn't ship that, causing pip install pymgclient==1.3.1 to fail.
How was it discovered?
pip install gqlachemy fails on a fresh Rockylinux 8 image with the build prerequisites installed. Error message suggests something's up with pymgclient and openssl's version.
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found version "3.0.8")
Tried opting out of the static linking and the installation worked.
Keep the openssl static linking the default behaviour and add another CI job.
Add another base image, say rockylinux:8, to CI where libcrypto.a is not provided by openssl-devel or libssl-dev. Fix the rest of CI job until the build passes and possibly improve documentation on the build process.
Problem
Linking openssl statically by default implies the image must have a static
libcrypto.a
, but not all *nixes ship that when installingopenssl
. In particular, RockyLinux 8 doesn't ship that, causingpip install pymgclient==1.3.1
to fail.How was it discovered?
pip install gqlachemy
fails on a fresh Rockylinux 8 image with the build prerequisites installed. Error message suggests something's up withpymgclient
and openssl's version.Proposed fix
Add another base image, say
rockylinux:8
, to CI wherelibcrypto.a
is not provided byopenssl-devel
orlibssl-dev
. Fix the rest of CI job until the build passes and possibly improve documentation on the build process.The reason
ubuntu-22.04
didn't surface this error is becauselibssl-dev
ships alibcrypto.a
by default and the Runner comes with an openssl installed.OR