在WSL中安装swool报错 error: unrecognized command line option '-V' 的解决方法

未经授权,请勿转载~

Windows Subsystem for Linux Ubuntu中使用pecl安装swool时遇到错误“error: C compiler cannot create executables”、“error: unrecognized command line option ‘-V’”

解决方法

先看解决方法, 将gcc版本降低到4.8即可,因为高版本gcc取消了-V参数:

sudo apt install gcc-4.8 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
wget https://github.com/swoole/swoole-src/archive/v2.1.1.tar.gz
wget https://github.com/swoole/swoole-src/archive/v2.1.1.tar.gz
cd swoole-src-2.1.1/
phpize
./configure
make
make install

详细解决思路

详细解决思路如下,有兴趣的童鞋请继续看:

pecl install swool

checking for grep that handles long lines and -e… /bin/grep
checking for egrep… /bin/grep -E
checking for a sed that does not truncate output… /bin/sed
checking for cc… cc
checking whether the C compiler works… no
configure: error: in `/home/www/swoole-src-2.1.1′:
configure: error: C compiler cannot create executables
See `config.log’ for more details

不知道这个config.log文件在哪里,而且发现swool的版本也是1.x而不是2.x。于是下载swool的源码,重新进行编译安装

wget  https://github.com/swoole/swoole-src/archive/v2.1.1.tar.gz
cd swoole-src-2.1.1
phpize
./configure

依然报上面的错误,不过这次可以找到错误日志了

cat config.log

可以看到如下错误:

cc: error: unrecognized command line option '-V'
cc: fatal error: no input files
#省略部分代码 ...
cc: error: unrecognized command line option '-qversion'
cc: fatal error: no input files
#省略部分代码 ...
configure:2582: cc    conftest.c  >&5
cc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
#省略部分代码 ...
configure:2629: error: in `/home/www/swoole-src-2.1.1':
configure:2631: error: C compiler cannot create executables
See `config.log' for more details
#省略部分代码 ...

于是,从第一个错误开始寻找,google搜索“error: unrecognized command line option ‘-V’”
找了半天都没有找到解决方案(主要是英文烂),有说要安装openssl的, 有说要装pkg-config的,还有几个记不清了,都装了还是报错,几乎要放弃
终于看到一个帖子说gcc高于4.9的版本貌似取消了-V参数,迎来了曙光~
使用gcc --version 查看版本发现是5.4.0
问题找到:
wsl ubuntu的版本为16.04,apt默认安装的gcc版本为5.4.0,该版本gcc不支持-V参数
立刻搜索“apt修改软件版本”, 找到~Ubuntu安装切换多个软件版本 http://blog.csdn.net/honyniu/article/details/46370491

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20

重新安装,搞定收工

    原文作者:冬瓜桑
    原文地址: https://www.jianshu.com/p/25829b68b71c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞