nginx 编译错误解决方法 [备忘]

参见编译错误信息

can not detect int size

增加参数可以跳过

--with-ld-opt="-lstdc++" --with-cpp_test_module

 

参考编译错误信息

make[3]: Leaving directory `/apps/lib/openssl-1.0.0k/crypto'
make[2]: Leaving directory `/apps/lib/openssl-1.0.0k'
make[1]: *** [/apps/lib/openssl-1.0.0k/.openssl/include/openssl/ssl.h] Error 2
make[1]: Leaving directory `/root/rpmbuild/BUILD/nginx-1.4.4'
make: *** [build] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.uh3FA8 (%build)

 

解决方法

直接下载 openssl-%{version} 对应源码, 并解压至对应目录如 /usr/local/openssl-1.0.0k

另外需要修改 $nginx-1.4.4_source/auto/lib/openssl/conf 文件

注释
#           CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
#           CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
#           CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
#           CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改成下面样子
            CORE_INCS="$CORE_INCS $OPENSSL/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/libcrypto.a"
            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

参考下面编译错误信息

### 参考下面编译错误信息
+ make -j2
make -f objs/Makefile
make[1]: Entering directory `/root/rpmbuild/BUILD/nginx-1.4.4'
cd /apps/lib/pcre-8.31 \
        && if [ -f Makefile ]; then make distclean; fi \
        && CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe " \
        ./configure --disable-shared
/bin/sh: line 2: ./configure: No such file or directory
make[1]: *** [/apps/lib/pcre-8.31/Makefile] Error 127
make[1]: Leaving directory `/root/rpmbuild/BUILD/nginx-1.4.4'
make: *** [build] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.ATriVy (%build)

解决方法

直接下载 pcre-8.31 源码, 并解压至 /usr/local/ 目录下, 重新通过参数 --with-pcre=/usr/local/pcre-xxxx 可通过编译

 

参考编译错误信息 [注:只有 rpmbuild 才出现]

+ ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/apps/svr/nginx-1.4.4 --exec-prefix=/apps/svr/nginx-1.4.4 --bindir=/apps/svr/nginx-1.4.4/bin --sbindir=/apps/svr/nginx-1.4.4/sbin --sysconfdir=/etc --datadir=/apps/svr/nginx-1.4.4/share --includedir=/apps/svr/nginx-1.4.4/include --libdir=/apps/svr/nginx-1.4.4/lib64 --libexecdir=/apps/svr/nginx-1.4.4/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/apps/svr/nginx-1.4.4 --user=apps --group=apps --with-pcre=/apps/lib/pcre-8.34 --with-openssl=/apps/lib/openssl-1.0.0k --with-http_ssl_module --with-http_stub_status_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --add-module=/apps/lib/ngx_cache_purge-1.5 --add-module=/apps/lib/nginx-http-concat-master --prefix=/apps/svr/nginx-1.4.4 --sbin-path=/apps/svr/nginx-1.4.4/sbin/nginx --conf-path=/apps/conf/nginx-1.4.4/nginx.conf --error-log-path=/apps/logs/nginx/error.log --http-log-path=/apps/logs/nginx/access.log --pid-path=/apps/run/nginx/nginx.pid --lock-path=/apps/run/nginx/nginx.lock
./configure: error: invalid option "--build=x86_64-redhat-linux-gnu"
error: Bad exit status from /var/tmp/rpm-tmp.fvZLVc (%build)

 

解决方法

在 RMP 创建时候, 由于 nginx 不按照常规定义, 不可以定义 %{_prefix} 之类参数, 也不可以使用 %configure 这个参数进行 rpm 编译
一旦定义该参数, 会导致编译自动增加下面参数, 导致报错

+ ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= 

上述参数都不被 nginx-1.4.4 编译所支持

因此必须屏蔽 spec 文件中 %configure 字段, 使用 ./configure 进行取代
时间: 2024-11-03 06:40:33

nginx 编译错误解决方法 [备忘]的相关文章

常见 PHP (5.4.24) 编译错误解决方法[备忘]

参见编译错误信息 configure: error: GD build test failed. Please check the config.log for details. 解决方法:  把编译包全部安装 export LANG=en_US yum grouplist | grep Deve yum groupinstall -y "返回的包组名称" 返回的包组名称" 返回的包组名称"     参见编译错误信息 /root/rpmbuild/BUILD/php

ORA-04098错误解决方法

错误|解决 ORA-04098错误解决方法 数据库版本:8.1.5 平台:SOLARIS 5.7   背景: 用户建立了一个TRIGGER:create or replace trigger ddl_denybefore create or alter or drop on databasedeclarebegininsert into ddl_logs values(ora_dict_obj_owner,ora_dict_obj_name,sysdate);exceptionwhen no_d

502 bad gateway是什么意思 502 bad gateway错误解决方法_服务器其它

您可以尝试清除浏览器缓存 访问一下你的FTP看是否可以登陆 成功解决502 Bad Gateway错误 今天登陆博客,显示502 bad gateway,NGINX最烦人的地方就是经常会出现这个错误,由于我并不打算在技术上花费过多的时间,所以一般是遇到了相关问题,通过搜索引擎解决后即可,不会去深究.废话不多说,说说我的坎坷经历. 首先,我重启了服务器,可是重启了好几次,都无效,然后去Google搜索了下502 bad gateway,出来了很多的网页,筛选后进入http://lnmp.org/f

sql server 2005时发生18452错误解决方法

ODBC 测试sql server 2005时发生18452错误解决方法 用.net开发的网站连接数据库里发生错误,当访问静态页面里显示正常. 1.首先想到的是测试ODBC数据源,当用sql用户和密码登录时出现如下图错误: 2.因为是在客户服务器上安装,所以未设置sa的密码,由于安装时未勾选择了"windows身份验证",所以当你测试sql server 2005的用户时出现此错误. 3.打开"SQL Server Management Studio"双击数据库所在

Linux系统中操作文件数过多导致的错误解决方法

  linux 打开文件数 too many open files 解决方法 too many open files出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值. 查看每个用户最大允许打开文件数量 代码如下: ulimit -a fdipzone@ubuntu:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 2

宽带连接错误解决方法大集合

上网最烦的是什么?网速慢,广告,中病毒等等,其中最让人感到烦恼的莫过于那些莫名其妙弹出的"宽带连接错误XXX"的弹窗警告了,经常在这种时候你是上不了网的,身边有手机还好,刷着流量去百度找帖子解决,身边没手机怎么办?打电信或者联通客服?有一点必须确认的是他们即使答应让人来修复也一定不是现在. 今天软媒小编整理编排了一些关于691.623.678...宽带连接错误解决方法大集合,这些解决方法来源于网络,望知晓出处者不吝告知,感激不尽.希望或多或少能帮助到你. 宽带连接错误691(由于域上的

win7系统电脑开机引导错误解决方法

  win7系统电脑开机引导错误解决方法           win7开机引导错提示一:"HDD controller failue" 硬盘控制器故障 故障分析:出现此种开机引导错误往往是由于硬盘与硬盘控制器的信号通讯电路不好. 故障解决方法:关闭电源,并检查硬盘电源是否解决. win7开机引导错提示二:"Bad or missing command interpreter" 故障分析:出现此种开机引导错误往往是由于系统盘中command.com文件已经损坏或者被删

系统丢失gdiplus.dll文件错误解决方法

  系统丢失gdiplus.dll文件错误解决方法,详细错误如图: 步骤 百度gdiplus.dll文件,找一个地方下载gdiplus.dll文件,下载的时候注意必须符合自己的系统(win7或者XP) 下载后,解压,复制里边的gdiplus.dll文件到系统目录下,如下图,是WIN7系统的存放位置,其他系统放在相应位置即可(系统目录一般为:C:WINNTSystem32 64位系统为C:WindowsSysWOW64) 最后,点击开始菜单-->运行-->输入[regsvr32 gdiplus.

WinXP安装软件时出现NSIS ERROR错误解决方法

  WinXP安装软件时出现NSIS ERROR错误解决方法.虽然微软已经停止对WinXP的支持,还是有不少用户依然坚持使用XP,不过在安装软件的时候也会出现一些问题,近日有小伙伴说会出现NSIS ERROR的错误,这是什么原因造成的呢?又要如何解决,下面就让小编一一道来. 一.NSIS ERROR什么意思 系统错误提示英文为"installer integrity check has failed. common causes include incomplete download and d