mysql源码编译配置不成功

更新时间:02-11 教程 由 薇糖 分享

最近我在尝试编译MySQL的源码,然而遇到了一些问题,无法成功配置和编译。以下是我的经验和教训。

首先,我从MySQL官网下载了最新版本的源码,并按照官方文档中的说明进行了缺少的依赖安装和配置准备。然后,我尝试运行“configure”脚本,但是却收到了一大堆错误信息。

configure: error: libxml2 not found. Please check your libxml2 installation.configure: error: C++ preprocessor "/lib/cpp" fails sanity checkconfigure: error: The Boost library version 1.59.0 or newer could not be found.

在使用“yum”安装所需依赖的过程中,我发现在CentOS上安装Boost库的最新版本是1.53.0,而MySQL需要1.59.0或更高的版本。因此,我必须手动下载和安装Boost库的更高版本,以满足MySQL的要求。

$ wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2$ tar xf boost_1_72_0.tar.bz2$ cd boost_1_72_0/$ ./bootstrap.sh$ sudo ./b2 install

然而,即使安装了最新版本的Boost库,我仍然无法成功配置并编译MySQL。在这种情况下,我决定仔细查看发生错误的日志,以查找问题的根本原因。

checking size of long long... 0configure: error: cannot compute sizeof (long long), 77

我发现,原来是GCC编译器版本太老,不支持计算数据类型的大小。为此,我必须更新GCC编译器到最新版本。通过以下命令尝试升级GCC:

$ sudo yum install centos-release-scl$ sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++$ scl enable devtoolset-9 bash

最后,我再次运行MySQL的configure脚本,并设置额外的选项和参数,以便在配置和编译过程中进行调试和记录。这样,我最终成功编译了MySQL的源码。

$ ./configure --with-charset=utf8mb4 --with-collation=utf8mb4_unicode_ci --enable-debug --enable-local-infile --with-openssl --with-zlib-dir=/usr/local/lib --with-boost=/usr/local/lib --prefix=/usr/local/mysql --sysconfdir=/etc/mysql$ make$ make install

总之,在编译MySQL的源码时,必须仔细检查依赖关系、编译器版本、日志信息以及选项设置等因素,才能成功配置和编译。这需要耐心和经验,但是通过不断尝试和学习,我们可以掌握编译MySQL源码的技能。

声明:关于《mysql源码编译配置不成功》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2260917.html