Я не могу собрать MariaDB 10.2 с включенным RocksDB в CentOS 7.
Он имеет следующую ошибку компиляции:
/root/mariadb-10.2/mysys_ssl/my_md5.cc: In function ‘void md5_result(MD5_CONTEXT*, uchar*)’: /root/mariadb-10.2/mysys_ssl/my_md5.cc:86:29: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scope EVP_MD_CTX_cleanup(context);
^ /root/mariadb-10.2/mysys_ssl/my_md5.cc: In function ‘void my_md5(uchar*, const char*, size_t)’: /root/mariadb-10.2/mysys_ssl/my_md5.cc:102:15: error: aggregate ‘MD5_CONTEXT md5_context’ has incomplete type and cannot be defined MD5_CONTEXT md5_context;
^ /root/mariadb-10.2/mysys_ssl/my_md5.cc: In function ‘void my_md5_multi(uchar*, ...)’: /root/mariadb-10.2/mysys_ssl/my_md5.cc:127:15: error: aggregate ‘MD5_CONTEXT md5_context’ has incomplete type and cannot be defined MD5_CONTEXT md5_context;
^ /root/mariadb-10.2/mysys_ssl/my_md5.cc: In function ‘size_t my_md5_context_size()’: /root/mariadb-10.2/mysys_ssl/my_md5.cc:140:28: error: invalid application of ‘sizeof’ to incomplete type ‘MD5_CONTEXT {aka evp_md_ctx_st}’ return sizeof(MD5_CONTEXT);
^ make[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/my_md5.cc.o] Error 1 make[1]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/all] Error 2
Вот команды, которые я использовал для его создания:
yum install g++ cmake libbz2-dev libaio-dev bison zlib1g-dev libsnappy-dev libgflags-dev libreadline6-dev libncurses5-dev libssl-dev liblz4-dev gdb git
git clone https://github.com/MariaDB/server.git mariadb-10.2
git checkout bb-10.2-mariarocks
git submodule init git submodule update
cmake -DCURSES_LIBRARY=/usr/lib64/libncurses -DCURSES_INCLUDE_PATH=/usr/include .
make -j10
Я предполагаю, что это проблема версии OpenSSL, возможно, MariaDB поддерживает только более старую версию OpenSSL.
Итак, кто-нибудь знает, как это исправить?
мои версии:
- OpenSSL 1.1.0e 16 февраля 2017 г.
- g++ (ССЗ) 4.8.5 20150623
Спасибо,