如下都是我安装mysql8.0遇到的一些报错和解决方法mysql
一、does not appear to contain CMakeLists.txt.c++
缘由:mysql下载的源码包不对sql
解决方法:下载正确的mysql源码包。vim
二、配置报错:Please install the appropriate openssl developer package.app
解决方法:安装openssl-develide
yum -y install openssl-devel
三、配置报错:Could NOT find Cursesui
解决方法:安装ncurses-develthis
yum -y install ncurses-devel
四、编译报错:Please do not build in-source. Out-of source builds are highlyspa
缘由:是它建议你不要构建源代码。3d
解决办法:在配置的时候加入字段:-DFORCE_INSOURCE_BUILD=1
五、配置报错:The C compiler identification is unknown
解决办法:作一个gcc的软连接。
ln -s /usr/local/gcc/bin/gcc /usr/bin/cc
六、编译报错:/usr/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found
由于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
七、编译报错:'SYS_gettid' has not been declared in this scope
解决方法:在该文件上添加一个头文件。
vim /usr/local/src/mysql-8.0.16/storage/innobase/buf/buf0buf.cc #在第一行添加 #include "sys/syscall.h"
八、编译报错:‘os_compare_and_swap_thread_id’ Has not been declared in this scope
解决办法:修改报错文件内容
vim /usr/local/src/mysql-8.0.16/storage/innobase/lock/lock0lock.cc #将 “os_compare_and_swap_thread_id” 修改成 os_compare_and_swap_lint
九、编译报错:/usr/bin/ar: ../../archive_output_directory/libz.a
解决方法:从新配置编译
make clean
cmake .....(你的配置参数)
make
十、编译报错:_DIAGASSERT、libedit_fgetln、__arraycount、libedit_fgetln an undefined reference
解决方法:在各文件里加入sys.h头文件
#在文件中加入 #include <sys.h>
十一、mysql登陆报错:Segmentation fault
解决办法:找到源码中terminal.c文件,修改以下图,而后从新编译。