美文网首页
mysql5.7编译安装报错集锦

mysql5.7编译安装报错集锦

作者: 磨剑_运维之旅 | 来源:发表于2020-03-03 14:57 被阅读0次

CentOS7安装mysql8.0编译报错集合

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

1、does not appear to contain CMakeLists.txt.

image

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

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

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

image

解决方法:安装openssl-devel

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">yum -y install openssl-devel</pre>

** 3、配置报错:Could NOT find Curses**

image

解决方法:安装ncurses-devel

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">yum -y install ncurses-devel</pre>

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

image

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

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

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

image

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">ln -s /usr/local/gcc/bin/gcc /usr/bin/cc</pre>

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

image

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

解决办法:修改软链接

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">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</pre>

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

image

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">vim /usr/local/src/mysql-8.0.16/storage/innobase/buf/buf0buf.cc #在第一行添加
#include "sys/syscall.h"</pre>

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

image

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">vim /usr/local/src/mysql-8.0.16/storage/innobase/lock/lock0lock.cc #将 “os_compare_and_swap_thread_id” 修改为
os_compare_and_swap_lint</pre>

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

image

解决方法:重新配置编译

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">make clean
cmake .....(你的配置参数)
make</pre>

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

image

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">#在文件中加入 #include <sys.h></pre>

11、mysql登录报错:Segmentation fault

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

image

相关文章

网友评论

      本文标题:mysql5.7编译安装报错集锦

      本文链接:https://www.haomeiwen.com/subject/nsntictx.html