MariaDB 10.2 和 Openssl 1.1.0e 出现“不完整类型 MD5_CONTEXT”错误

2023-12-08

我无法在 CentOS 7 中构建启用 RocksDB 的 MariaDB 10.2。

它有以下编译错误:

/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 2017 年 2 月 16 日
  • g++(海湾合作委员会)4.8.5 20150623

Thanks,


支持 OpenSSL 1.1加入在 MariaDB 10.2.6 中,截至今天(2017 年 5 月 17 日)尚未发布,但预计很快就会发布。

由于您正在从 github 获取源代码,因此您现在就可以尝试,但您不应该使用bb-10.2-mariarocks树——虽然它可能在 RocksDB 中进行了一些最新的实验性更改(或没有),但它可能以任何其他方式过时。请用10.2相反,它也有 RocksDB。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MariaDB 10.2 和 Openssl 1.1.0e 出现“不完整类型 MD5_CONTEXT”错误 的相关文章

随机推荐