libz mysql_CentOS7安装mysql8.0编译报错集合

以下都是我安装mysql8.0遇到的一些报错和解决方法

1、does not appear to contain CMakeLists.txt.

d4957d8c55dd2d99639fd677b5a7cae0.png

原因:mysql下载的源码包不对

解决方法:下载正确的mysql源码包。

2、配置报错:Please install the appropriate openssl developer package.

66787b21b027e643850189d96cf6ec2c.png

解决方法:安装openssl-devel

yum -y install openssl-devel

3、配置报错:Could NOT find Curses

98d50d0cb931ecaab793d93b0dec6253.png

解决方法:安装ncurses-devel

yum -y install ncurses-devel

4、编译报错:Please do not build in-source.  Out-of source builds are highly

64f1f3943b0f490208f12d0fc8f58a0d.png

原因:是它建议你不要构建源代码。

解决办法:在配置的时候加入字段:-DFORCE_INSOURCE_BUILD=1

5、配置报错:The C compiler identification is unknown

7304801ea2679c8804a9d8e0c80d5fe8.png

解决办法:做一个gcc的软链接。

ln -s /usr/local/gcc/bin/gcc /usr/bin/cc

6、编译报错:/usr/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found

8f6c67df6beeaa9e669ed34c5e0a33a0.png

因为libstdc++.so.6的库是使用的以前的老库。

解决办法:修改软链接

find / -name libstdc++.so.6

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6_old

ln -s /usr/local/gcc/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

7、编译报错:'SYS_gettid' has not been declared in this scope

d8370b3cd04e4d2fed70f81d5ba59bac.png

解决方法:在该文件上添加一个头文件。

vim /usr/local/src/mysql-8.0.16/storage/innobase/buf/buf0buf.cc#在第一行添加

#include "sys/syscall.h"

8、编译报错:‘os_compare_and_swap_thread_id’ Has not been declared in this scope

36fcb32d2ed310f7d28f2fde47818d6e.png

解决办法:修改报错文件内容

vim /usr/local/src/mysql-8.0.16/storage/innobase/lock/lock0lock.cc#将 “os_compare_and_swap_thread_id” 修改为

os_compare_and_swap_lint

9、编译报错:/usr/bin/ar: ../../archive_output_directory/libz.a

25053e75a7f263d19d67d2b098647647.png

解决方法:重新配置编译

make clean

cmake .....(你的配置参数)

make

10、编译报错:_DIAGASSERT、libedit_fgetln、__arraycount、libedit_fgetln an undefined reference

bdf9a06010fea48627f47a7c045cd712.png

解决方法:在各文件里加入sys.h头文件

#在文件中加入#include

11、mysql登录报错:Segmentation fault

解决办法:找到源码中terminal.c文件,修改如下图,然后重新编译。

fbfba1b8d6b3cfbb372e0a60ce60ed66.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值