sourcecode

MariaDB 10.2 및 Opensl 1.1.0e에서 "incomplete type MD5_CONTEXT" 오류 발생

codebag 2023. 8. 26. 11:21
반응형

MariaDB 10.2 및 Opensl 1.1.0e에서 "incomplete type MD5_CONTEXT" 오류 발생

RocksDB가 활성화된 상태에서 CentOS 7에서 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 설치 g++ cmake libbz2-devlibbio-dev bison zlib1g-devlibgflags-devlibreadline6-devlibcurses5-devlibssl-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++ (GCC) 4.8.5 20150623

감사해요.

OpenSSL 1.1에 대한 지원은 MariaDB 10.2.6에 추가되었으며, 현재(2017년 5월 17일) 아직 출시되지 않았지만 곧 출시될 것으로 예상됩니다.

당신이 github에서 소스 코드를 가져오고 있기 때문에, 당신은 이미 그것을 시도할 수 있지만, 당신은 사용하지 말아야 합니다.bb-10.2-mariarocks나무 -- RocksDB에서 최신 실험 변화가 있을 수 있지만(또는 그렇지 않을 수도 있지만), 다른 방식으로는 구식일 가능성이 높습니다.이용해주세요10.2대신에, 그것은 RocksDB도 가지고 있습니다.

언급URL : https://stackoverflow.com/questions/44012487/error-incomplete-type-md5-context-with-mariadb-10-2-and-openssl-1-1-0e

반응형