为了拓宽TSINGSEE青犀视频云边端架构产品的兼容性,我们的研发团队会不断编译不同的版本,适应不同的平台以及语言。在编译Intel Media SDK git最新版本21.1.3时,编译报错:error"SSE4.1 instruction set not enabled",无法继续进行了,在此期间,我们尝试了多种方法,包括更新gcc版本,cmake版本,升级内核版本,均未解决该问题。
Github 提issue:
1、更新gcc 版本
yum install centos-release-scl
yum install devtoolset-8 //升级到gcc7.x.x版本
2、更新cmake版本
-
查看当前cmake版本
[root@localhost ~]# cmake -version
cmake version 2.8.12.2 -
进行卸载
[root@localhost ~]# yum remove -y cmake -
进行安装包的下载,也可以下载好安装包后传至相应的目录
[root@localhost ~]# mkdir /opt/cmake
[root@localhost ~]# cd /opt/cmake/ -
下载或拷贝,解压
[root@localhost cmake]# wget https://cmake.org/files/v3.16/cmake-3.16.6.tar.gz
[root@localhost cmake]# tar -zxvf cmake-3.16.6.tar.gz -
安装基本工具
[root@localhost cmake]# yum install -y gcc gcc-c++ -
进行编译连接
[root@localhost cmake]# ./configure --prefix=/usr/local/cmake -
安装
[root@localhost cmake]# cd cmake-3.16.6
[root@localhost cmake-3.16.6]# make && make install -
创建链接
[root@localhost cmake-3.16.6]# ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake -
查看版本
[root@localhost cmake-3.16.6]# cmake -version
cmake version 3.16.6
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@localhost cmake-3.16.6]#
[root@localhost cmake-3.16.6]#
3、升级Centos7内核
由于以上三种方式均未解决问题,我们又探寻了其他的方案,最后发现有两种方式可以解决该问题。
解决方案一:
回退到上一个大版本,重新编译。安装readme 相关依赖后,编译成功
解决方案二:
如果需要使用最新版本,可以关注github issue 的处理进度。
在最新版本中1192处解决合并到主分支中,拉取最新代码编译通过,问题解决。