【NGINX】nginx编译时错误 ./configure: error: C compiler cc is not found

             

背景:

因需求,需要装php+nginx运行环境,linux是centos 7.2
服务器是内网,无法连接到公网。所以只能手动编译安装 nginx

问题产生与解决

1、之前有编译安装过nginx1.15,现在是安装1.17版本。Centos 7 编译安装 Nginx-1.15.7

2、编译时遇到此报错

./configure: error: C compiler cc is not found

一看,这不是没有安装c编译器嘛,如果是公网环境,直接用 yum -y install gcc-c++ 安装就完事了

但现在不是公网,只能一个个装依赖了。我是从centos7.2的ISO镜像文件里面拿的依赖包用rpm安装

安装完之后依然是报此错误,检查了gcc已经安装完成。也百度了nginx需要的依赖,都装上了。

但依旧不管用。。。。。。。。

3、可以使用此方法查看具体错误

编辑 auto/cc/name 文件,将 21 行的 “exit 1” 注释掉1

4、解决方案

再此方法之前,我也有重装gcc等依赖,但依然无济于事。后来搜了一下CentOS7 rpm安装gcc

看到了一篇文章,需要安装一下包,因为每个包之间都有互相依赖,抱着希望试一试

4、使用rpm安装准备好的依赖包

rpm -Uvh *.rpm --force --nodeps

5、重新编译nginx,成功

6、原因分析

估计是安装gcc的时候缺少gcc所依赖的包,导致gcc部分功能不生效,或者是环境变量之类的因素






发表评论 请登录再评论
  • 文章分类
回到顶部