我使用 AWS Lightsail 已有一年多的时间,没有出现任何问题。但最近无法在 Ubuntu 上编译软件,这个问题在升级到 Ubuntu 18.04 LTS 后不久就开始了,尽管不是立即的。
经过大量的故障排除/谷歌搜索来修复当前实例后,我创建了一个全新的实例来隔离我的测试并遇到了同样的问题。
有人能告诉我下一步该怎么做才能排除故障并成功编译软件吗?
这种情况在多个应用程序中都会发生,但我使用 nginx 作为示例。我删除了启动脚本并将其归结为基本的 nginx 安装。
创建新的 Lightsail 实例(Linux,仅限操作系统,Ubuntu 18.04 LTS)
以 SSH 身份登录实例
ubuntu@IP_address
sudo apt update && sudo apt upgrade
安装 build-essential 和 nginx 依赖项,有些可能已经安装并被跳过
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
下载 nginx 稳定版本
wget http://nginx.org/download/nginx-1.14.1.tar.gz
提取文件并移至 nginx 目录
tar -zxvf nginx-1.14.1.tar.gz && cd nginx-1.14.1/
./configure
make
在这里我遇到了几个类似的错误。
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -o objs/src/core/nginx.o src/core/nginx.c
完整控制台: https://pastebin.com/qsbh5CDH
这可能是警告,但 make 无法成功退出。
make[1]: Leaving directory '/home/ubuntu/nginx-1.14.1'
我尝试运行sudo make install
但也没有成功完成。
$ sudo make install
make -f objs/Makefile install
make[1]: Entering directory '/home/ubuntu/nginx-1.14.1'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
|| mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' \
|| mv '/usr/local/nginx/sbin/nginx' \
'/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' \
|| mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types' \
|| cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params' \
|| cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params \
'/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf' \
|| cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params' \
|| cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params \
'/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params' \
|| cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params \
'/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \
|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory '/home/ubuntu/nginx-1.14.1'
提前谢谢您。我在 nginx 板上发现了类似的编译警告错误,但所有修复都不起作用。对我来说,这也不是 nginx 独有的。在 Lightsail Ubuntu 18.04 上编译其他软件时也会发生这种情况。
伊恩