人的头脑太复杂,时间过得久,有时候连自己也被自己骗了,记下来才是最真实的...... 注册 | 登陆

宝塔甲骨文ARM编译安装MySQL报错解决方法二

 提示的报错信息

 

XML/HTML代码
  1. CMake Error at cmake/os/Linux.cmake:71 (MESSAGE):   GCC 7.1 or newer is required  

查看了下

 

 

XML/HTML代码
  1. /www/server/mysql/src/cmake/os/Linux.cmake  
XML/HTML代码
  1. # We require at least GCC 7.1 Clang 5  
  2. IF(NOT FORCE_UNSUPPORTED_COMPILER)  
  3.   IF(MY_COMPILER_IS_GNU)  
  4.     IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1)  
  5.       MESSAGE(FATAL_ERROR "GCC 7.1 or newer is required")  //这是71行  
  6.     ENDIF()  
  7.   ELSEIF(MY_COMPILER_IS_CLANG)  
  8.     IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)  
  9.       MESSAGE(FATAL_ERROR "Clang 5 or newer is required!")  
  10.     ENDIF()  
  11.   ELSE()  

看了下感觉向需要升级下GCC版本,那就升级下高层次的版本。gcc7版本会报错。8版本可以。最好先卸载掉之前的版本。

 

第一步:安装centos-release-scl

 

XML/HTML代码
  1. sudo yum install centos-release-scl  

 

第二步:安装devtoolset(安装debtoolset / gcc),注意,如果想安装9.版本的,就改成devtoolset-9-gcc,以此类推,默认安装的devtoolset是在 /opt/rh 目录下的。

 

XML/HTML代码
  1. sudo yum install devtoolset-8-gcc*  

第三步:激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本。

 

XML/HTML代码
  1. scl enable devtoolset-8 bash  

 

这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本

第四步:启动

每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行:

 

XML/HTML代码
  1. source ./enable  

所以要想切换到某个版本,只需要执行:

 

XML/HTML代码
  1. source /opt/rh/devtoolset-8/enable  

 

可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启。

第五步:直接替换旧的gcc

旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable

 

C++代码
  1. ln -s /opt/rh/devtoolset-8/root/bin/gcc  /usr/bin/  
  2. ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/  

 

 

XML/HTML代码
  1. mv /usr/bin/gcc /usr/bin/gcc-4.8.5  
  2. mv /usr/bin/g++ /usr/bin/g++-4.8.5  

 

Tags: mysql, 编译, 甲骨文arm, 甲骨文, 宝塔

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):