首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MariaDB源码编译安装(二)

MariaDB源码编译安装(二)

原创
作者头像
Raymond运维
修改2025-09-30 11:04:50
修改2025-09-30 11:04:50
2050
举报
文章被收录于专栏:干货分享干货分享
2.4.4.6 openEuler 22.03 LTS、Kylin Server V10

进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-11.8.3/

安装cmake包:

代码语言:javascript
复制
1yum install-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool. # 提示,CMake找不到与“Unix Makefiles”对应的构建程序。未设置CMAKE_MAKE_PROGRAM。您可能需要选择不同的构建工具,需要安装make。
25CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage # 提示,CMake错误:启用语言后未设置CMake_C_COMPILER,需要安装gcc。
26CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage # 提示,CMake错误:启用语言后未设置CMake_CXX_COMPILER,,需要安装gcc-c++。
27-- Configuring incomplete, errors occurred!

安装gcc和gcc-c++包:

代码语言:javascript
复制
1yum install-ymake gcc gcc-c++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28  Cannot find appropriate system libraries for SSL.  Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31  CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!

安装openssl-devel包:

代码语言:javascript
复制
1yum install-y openssl-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31  /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32  cmake/readline.cmake:55 (FIND_PACKAGE)
33  cmake/readline.cmake:188 (FIND_CURSES)
34  CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!

安装ncurses-devel:

代码语言:javascript
复制
1yum install-y ncurses-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28  Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30  CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!
34See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeOutput.log".
35See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeError.log".

安装systemd-devel包:

代码语言:javascript
复制
1yum install-y systemd-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * LibXml2
31 * Java (required version >=1.6)
32   Required for the CONNECT_JDBC feature
33 * JNI
34   Required for the CONNECT_JDBC feature
35 * Boost (required version >=1.40.0)
36   Required for the OQGraph storage engine
37 * CURL
38 * BZip2
39 * LZ4 (required version >=1.6)
40 * LibLZMA
41 * LZO
42 * Snappy
43 * BISON (required version >=2.4)
44
45-- Configuring done
46-- Generating done
47-- Build files have been written to: /usr/local/src/mariadb-11.8.3

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2yum install-y cmake make gcc gcc-c++ openssl-devel ncurses-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall
2.4.4.7 UOS Server V20

进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-11.8.3/

安装cmake包:

代码语言:javascript
复制
1yum install-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
25  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
26Call Stack (most recent call first):
27  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
28  /usr/share/cmake/Modules/FindCurses.cmake:258 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
29  cmake/readline.cmake:55 (FIND_PACKAGE)
30  cmake/readline.cmake:188 (FIND_CURSES)
31  CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
32
33
34-- Configuring incomplete, errors occurred!
35See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeOutput.log".
36See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeError.log".

安装ncurses-devel:

代码语言:javascript
复制
1yum install-y ncurses-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28  Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 提示,请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30  CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!
34See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeOutput.log".
35See also "/usr/local/src/mariadb-11.8.3/CMakeFiles/CMakeError.log".

安装systemd-devel包:

代码语言:javascript
复制
1yum install-y systemd-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * LibXml2
31 * Java (required version >=1.6)
32   Required for the CONNECT_JDBC feature
33 * JNI
34   Required for the CONNECT_JDBC feature
35 * Boost (required version >=1.40.0)
36   Required for the OQGraph storage engine
37 * CURL
38 * BZip2
39 * LZ4 (required version >=1.6)
40 * LibLZMA
41 * LZO
42 * Snappy
43 * BISON (required version >=2.4)
44
45-- Configuring done
46-- Generating done
47-- Build files have been written to: /usr/local/src/mariadb-11.8.3

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2yum install-y cmake ncurses-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall
2.4.4.8 openSUSE 15

进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-11.8.3/

安装cmake包:

代码语言:javascript
复制
1zypperinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error at CMakeLists.txt:40 (PROJECT):
25  No CMAKE_C_COMPILER could be found.
26
27  Tell CMake where to find the compiler by setting either the environment
28  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
29  the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CC” 或 CMake 缓存条目CMAKE_C_COMPILER到编译器,或者如果编译器名称在 PATH,需要安装gcc。
30
31
32CMake Error at CMakeLists.txt:40 (PROJECT):
33  No CMAKE_CXX_COMPILER could be found.
34
35  Tell CMake where to find the compiler by setting either the environment
36  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
37  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装gcc-c++。
38
39
40-- Configuring incomplete, errors occurred!

安装gcc和gcc-c++包:

代码语言:javascript
复制
1zypperinstall-y gcc gcc-c++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28  Cannot find appropriate system libraries for SSL.  Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31  CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!

安装libopenssl-devel包:

代码语言:javascript
复制
zypper install -y libopenssl-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31  /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32  cmake/readline.cmake:55 (FIND_PACKAGE)
33  cmake/readline.cmake:188 (FIND_CURSES)
34  CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!

安装ncurses-devel:

代码语言:javascript
复制
1zypperinstall-y ncurses-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28  system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30  CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!

安装pcre2-devel包:

代码语言:javascript
复制
1zypperinstall-y pcre2-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28  Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30  CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!

安装systemd-devel包:

代码语言:javascript
复制
1zypperinstall-y systemd-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * LibXml2
31 * Java (required version >=1.6)
32   Required for the CONNECT_JDBC feature
33 * JNI
34   Required for the CONNECT_JDBC feature
35 * Boost (required version >=1.40.0)
36   Required for the OQGraph storage engine
37 * GSSAPI
38 * CURL
39 * BZip2
40 * LZ4 (required version >=1.6)
41 * LibLZMA
42 * LZO
43 * Snappy
44 * BISON (required version >=2.4)
45
46-- Configuring done(53.3s)
47-- Generating done(0.7s)
48-- Build files have been written to: /usr/local/src/mariadb-11.8.3

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2zypperinstall-y cmake gcc gcc-c++ libopenssl-devel ncurses-devel pcre2-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall
2.4.4.9 Ubuntu Server 20.04/22.04/24.04 LTS、Debian 11/12/13

进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-11.8.3/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error at CMakeLists.txt:40 (PROJECT):
25  No CMAKE_CXX_COMPILER could be found.
26
27  Tell CMake where to find the compiler by setting either the environment
28  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
29  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装gcc-c++。
30
31
32-- Configuring incomplete, errors occurred!

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28  Cannot find appropriate system libraries for SSL.  Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31  CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31  /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32  cmake/readline.cmake:55 (FIND_PACKAGE)
33  cmake/readline.cmake:188 (FIND_CURSES)
34  CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28  system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30  CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!

安装libpcre2-dev包:

代码语言:javascript
复制
1aptinstall-y libpcre2-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28  Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30  CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!

安装libsystemd-dev包:

代码语言:javascript
复制
1aptinstall-y libsystemd-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * ZLIB
31 * LibXml2
32 * Java (required version >=1.6)
33   Required for the CONNECT_JDBC feature
34 * JNI
35   Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37   Required for the OQGraph storage engine
38 * GSSAPI
39 * CURL
40 * BZip2
41 * LZ4 (required version >=1.6)
42 * LibLZMA
43 * LZO
44 * Snappy
45 * BISON (required version >=2.4)
46
47-- Configuring done(66.3s)
48-- Generating done(0.7s)
49-- Build files have been written to: /usr/local/src/mariadb-11.8.3

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2apt update
3aptinstall-y cmake g++ libssl-dev libncurses5-dev libpcre2-dev libsystemd-dev
4
5# 进入mariadb包解压的目录
6cd mariadb-11.8.3/
7
8# 执行cmake
9cmake .\
10-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
11-DMYSQL_DATADIR=/data/mariadb/ \
12-DSYSCONFDIR=/etc/ \
13-DMYSQL_USER=mysql \
14-DWITH_INNOBASE_STORAGE_ENGINE=1\
15-DWITH_ARCHIVE_STORAGE_ENGINE=1\
16-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
17-DWITH_PARTITION_STORAGE_ENGINE=1\
18-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
19-DWITH_DEBUG=0\
20-DWITH_READLINE=1\
21-DWITH_SSL=system \
22-DWITH_ZLIB=system \
23-DWITH_PCRE=system \
24-DWITH_BOOST=system \
25-DWITH_LIBWRAP=0\
26-DENABLED_LOCAL_INFILE=1\
27-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
28-DDEFAULT_CHARSET=utf8mb4 \
29-DDEFAULT_COLLATION=utf8mb4_general_ci \
30-DWITH_SYSTEMD=yes
31
32# 执行make
33make-j$(nproc)&&makeinstall
2.4.4.10 Ubuntu Server 18.04 LTS

进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-11.8.3/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error at CMakeLists.txt:17 (CMAKE_MINIMUM_REQUIRED):
25  CMake 3.12.0 or higher is required.  You are running version 3.10.2 # 需要CMake 3.12.0或更高版本。您运行的是3.10.2版本
26
27
28-- Configuring incomplete, errors occurred!

安装cmake:

去“https://cmake.org/download/”网址下载cmake二进制包,如图12所示。

t12
t12

图12 下载cmake二进制包

代码语言:javascript
复制
1# 卸载cmake
2apt remove -y cmake
3
4cd..
5
6# github下载地址:
7wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-x86_64.tar.gz
8
9# 国内下载地址:
10wget https://cmake.org/files/v3.31/cmake-3.31.7-linux-x86_64.tar.gz
11tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
12ln-s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
13
14root@ubuntu1804:/usr/local/src# cmake --version
15cmake version 3.31.7
16
17CMake suite maintained and supported by Kitware (kitware.com/cmake).

再次进入mariadb包解压的目录:

代码语言:javascript
复制
1cd mariadb-10.11.14/

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at CMakeLists.txt:40 (PROJECT):
28  No CMAKE_CXX_COMPILER could be found.
29
30  Tell CMake where to find the compiler by setting either the environment
31  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
32  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装gcc-c++。
33
34
35-- Configuring incomplete, errors occurred!

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28  Cannot find appropriate system libraries for SSL.  Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31  CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31  /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32  cmake/readline.cmake:55 (FIND_PACKAGE)
33  cmake/readline.cmake:188 (FIND_CURSES)
34  CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28  system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30  CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!

安装libpcre2-dev包:

代码语言:javascript
复制
1aptinstall-y libpcre2-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28  Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30  CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!

安装libsystemd-dev包:

代码语言:javascript
复制
1aptinstall-y libsystemd-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * ZLIB
31 * LibXml2
32 * Java (required version >=1.6)
33   Required for the CONNECT_JDBC feature
34 * JNI
35   Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37   Required for the OQGraph storage engine
38 * GSSAPI
39 * CURL
40 * BZip2
41 * LZ4 (required version >=1.6)
42 * LibLZMA
43 * LZO
44 * Snappy
45 * BISON (required version >=2.4)
46
47-- Configuring done(66.3s)
48-- Generating done(0.7s)
49-- Build files have been written to: /usr/local/src/mariadb-11.8.3

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2apt update
3aptinstall-y g++ libssl-dev libncurses5-dev libpcre2-dev libsystemd-dev
4
5# 安装cmake
6wget https://cmake.org/files/v3.31/cmake-3.31.7-linux-x86_64.tar.gz
7tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
8ln-s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
9
10# 进入mariadb包解压的目录
11cd mariadb-11.8.3/
12
13# 执行cmake
14cmake .\
15-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
16-DMYSQL_DATADIR=/data/mariadb/ \
17-DSYSCONFDIR=/etc/ \
18-DMYSQL_USER=mysql \
19-DWITH_INNOBASE_STORAGE_ENGINE=1\
20-DWITH_ARCHIVE_STORAGE_ENGINE=1\
21-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
22-DWITH_PARTITION_STORAGE_ENGINE=1\
23-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
24-DWITH_DEBUG=0\
25-DWITH_READLINE=1\
26-DWITH_SSL=system \
27-DWITH_ZLIB=system \
28-DWITH_PCRE=system \
29-DWITH_BOOST=system \
30-DWITH_LIBWRAP=0\
31-DENABLED_LOCAL_INFILE=1\
32-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
33-DDEFAULT_CHARSET=utf8mb4 \
34-DDEFAULT_COLLATION=utf8mb4_general_ci \
35-DWITH_SYSTEMD=yes
36
37# 执行make
38make-j$(nproc)&&makeinstall

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.4.4.6 openEuler 22.03 LTS、Kylin Server V10
  • 2.4.4.7 UOS Server V20
  • 2.4.4.8 openSUSE 15
  • 2.4.4.9 Ubuntu Server 20.04/22.04/24.04 LTS、Debian 11/12/13
  • 2.4.4.10 Ubuntu Server 18.04 LTS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档