CentOS6.4安装Swoole4.2 Gcc的问题-error: #error "GCC 4.8 or later required.
2018-12-10 15:32 浏览(1951

CentOS6.4安装swoole4.2报错:error: #error "GCC 4.8 or later required.

参考 https://blog.csdn.net/qq_24849765/article/details/75893393 安装GCC7.1

但是安装完成后还是有点问题,这里做个完整的记录

> cd /usr/local/src
> wget http://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.bz2
> tar -jxvf gcc-7.1.0.tar.bz2 
> cd gcc-7.1.0
> ./contrib/download_prerequisites
> mkdir gcc-temp
> ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#编译超级慢
> make -j4
> make install

替换原来的gcc版本

> update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 40
> mv /usr/bin/gcc /usr/bin/gcc.bak
> ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc

安装结束后,可以安装swoole了,但是查询时报错

> php -m | grep swoole
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/swoole.so' - 
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found 
(required by /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/swoole.so) in Unknown on line 0

但是查看gcc版本确实是7.1

> gcc -v
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.1.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 7.1.0 (GCC)

查看gcc包确实缺少GLIBCXX_3.4.20

> strings /usr/lib64/libstdc++.so.6 | grep GLIBC

既然说是 /usr/lib64/libstdc++.so.6 下面缺少这个,那就用下载的源码包重建一下软链

> cp /usr/local/src/gcc-7.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.23 /usr/lib64
> cd /usr/lib64
> mv libstdc++.so.6.0.13 libstdc++.so.6.0.13.bak
> ln -s libstdc++.so.6.0.23 libstdc++.so.6

运行 strings /usr/lib64/libstdc++.so.6 | grep GLIBC 再次查看

....
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
...

再次运行php --ri swoole | grep Version

显示 

Version => 4.2.2

说明成功了

评论(2)

Kiwi2021

Win10好用吗

  Win10增加了“行动中心”英国乐透8(通知中心)功能,可以显示信息、更新内容、电子邮件和日历等消息,还可以收集来自Windows 8应用的信息,但用户目前尚不能对收到的信息进行回应。

  Win10还支持键盘快捷方式以方便用户通过“Windows徽标键+SHIFT键+方向键”的按键组合对应用进行多屏迁移。如果用户早已极速赛车安装了Win10技术预览版,Windows更新将会根据用户的下载设置,自动下载和安装Win10新技术预览版。对于迫不及待想要升级至Win10新技术预览版的用户,可手动下载进行升级。

  Win10还在新版本允许用户自选收到最新测试版本的频率,可选择快、慢两种设定,用户设定前者可以较快地收到测试版本SG飞艇,但可能存在Bug;后者频率较低,但稳定性相对较高。专业人士提醒,除非运行双系统,否则不要在主要的设备中安装Win10新技术预览版。

2021-11-26 12:07 0 回复
发布评论
回复X
聊天室(0