
解决方法:
1. 先清理掉之前失败的编译残留
cd /home/soft/openresty-1.31.1.1/
gmake clean
2. 下载一个稳定好用的 OpenSSL 1.1.1w 源码包(推荐这个版本,兼容性极好)
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
3. 解压 OpenSSL 源码
tar -xzf openssl-1.1.1w.tar.gz
4. 再次配置 OpenResty!
重点:添加了 --with-openssl=... 参数,并加上 -std=gnu99 和 -fPIC 解决之前所有问题
./configure --prefix=/usr/local/openresty \
--with-cc-opt="-std=gnu99 -fPIC" \
--with-openssl=/home/soft/openresty-1.31.1.1/openssl-1.1.1w
5. 开始多线程编译
gmake
如果还有异常,需要操作如下:
1. 进入 lua-cjson 的源码目录
cd /home/soft/openresty-1.31.1.1/build/lua-cjson-2.1.0.17
2. 使用 sed 命令直接修改 C 源代码 (把 C99 的循环声明改成 C90 的写法)
sed -i 's/for (int i = 0; i < depth; i++)/int i; for (i = 0; i < depth; i++)/g' lua_cjson.c
再操作: gmake 完成,gmake install