[MDEV-17615] cmake ssl error on musl/libressl Created: 2018-11-05  Updated: 2019-02-08  Resolved: 2019-01-21

Status: Closed
Project: MariaDB Server
Component/s: SSL
Affects Version/s: 10.1.37
Fix Version/s: 10.1.38, 5.5.63, 10.0.38

Type: Bug Priority: Blocker
Reporter: Chingis Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None
Environment:

Alpine Linux 3.8


Attachments: File libressl.patch    

 Description   

Since 10.1.37 cmake fails with the following error on alpine linux 3.8 with libressl:

    cmake . -DBUILD_CONFIG=mysql_release \
    		-DCMAKE_INSTALL_PREFIX=/usr \
    		-DSYSCONFDIR=/etc/mysql \
    		-DMYSQL_DATADIR=/var/lib/mysql \
    		-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
    		-DDEFAULT_CHARSET=utf8 \
    		-DDEFAULT_COLLATION=utf8_general_ci \
    		-DENABLED_LOCAL_INFILE=ON \
    		-DINSTALL_INFODIR=share/mysql/docs \
    		-DINSTALL_MANDIR=share/man \
    		-DINSTALL_PLUGINDIR=lib/mysql/plugin \
    		-DINSTALL_SCRIPTDIR=bin \
    		-DINSTALL_INCLUDEDIR=include/mysql \
    		-DINSTALL_DOCREADMEDIR=share/mysql \
    		-DINSTALL_SUPPORTFILESDIR=share/mysql \
    		-DINSTALL_MYSQLSHAREDIR=share/mysql \
    		-DINSTALL_DOCDIR=share/mysql/docs \
    		-DINSTALL_SHAREDIR=share/mysql \
    		-DWITH_READLINE=ON \
    		-DWITH_ZLIB=system \
    		-DWITH_SSL=system \
    		-DWITH_LIBWRAP=OFF \
    		-DWITH_JEMALLOC=no \
    		-DWITH_EXTRA_CHARSETS=complex \
    		-DWITH_EMBEDDED_SERVER=ON \
    		-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    		-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    		-DWITH_INNOBASE_STORAGE_ENGINE=1 \
    		-DWITH_PARTITION_STORAGE_ENGINE=1 \
    		-DPLUGIN_TOKUDB=NO \
    		-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
    		-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
    		-DWITHOUT_PBXT_STORAGE_ENGINE=1; \
 
CMake Error at cmake/ssl.cmake:222 (MESSAGE):
  Cannot find appropriate system libraries for SSL.  Use WITH_SSL=bundled to
  enable SSL support
Call Stack (most recent call first):
  CMakeLists.txt:350 (MYSQL_CHECK_SSL)



 Comments   
Comment by Thomas Rohloff [ 2019-01-10 ]

Same here (gentoo linux, glibc, libressl). Reverting https://github.com/MariaDB/server/commit/31f1fe223e3ca0f2a44f7e55df05f096552ae61e fixes it:

-- OPENSSL_MAJOR_VERSION = 200
-- Looking for SHA512_DIGEST_LENGTH
-- Looking for SHA512_DIGEST_LENGTH - found
-- OPENSSL_INCLUDE_DIR = /usr/include
-- OPENSSL_LIBRARIES = /usr/lib/libssl.so
-- CRYPTO_LIBRARY = /usr/lib/libcrypto.so
-- SSL_LIBRARIES = /usr/lib/libssl.so;/usr/lib/libcrypto.so;dl

Attached is a patch to revert the commit on 10.1.37

Comment by Sergei Golubchik [ 2019-01-10 ]

a better fix would be not to rely on openssl version (as 31f1fe223e does) but to check whether OpenSSL version is supported with try_compile and whatever piece of vio that fails on 1.1

Generated at Thu Feb 08 08:37:48 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.