编译 NGINX 时,安装某个组件后出现无法找到编译器的问题,但是已经安装编译器组件。
问题复现
执行命令时出现以下报错
checking for OS
+ Linux 4.9.0-8-amd64 x86_64
checking for C compiler ... not found
./configure: error: C compiler cc is not found
问题初探
检查编译器安装情况
$ sudo apt install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
编译器已安装,经查询得知 /tmp
目录未挂载也会导致此问题,于是检查挂载状态。
$ sudo mount | grep 'tmp'
udev on /dev type devtmpfs (rw,nosuid,relatime,size=498744k,nr_inodes=124686,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102032k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=102028k,mode=700)
挂载无问题,若发现无挂载时请使用以下命令重新挂载。
$ sudo mount -o remount,rw,exec,nosuid /tmp
解决
$ export PATH="/usr/bin:$PATH"
解决问题,但未找到问题出现原因,初步猜想为安装 PageSpeed Module 依赖时覆盖了环境变量导致的。
附录
参考链接
- configure: error: C compiler cannot create executables - AskUbuntu
- ./configure: error: C compiler cc is not found - GitHub issues
- C compiler gcc not found while installing passenger and nginx - StackOverflow
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2019-04-19 11:02 AM