转自
http://blog.chinaunix.net/uid-2274226-id-5756596.html
nginx+openssl 编译失败,我的软件版本为:openssl-1.0.2j和tengine-2.1.2,提示如下:
[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127解决Nginx添加openssl模块编译时报错问题 ##以下是原作者的内容
/bin/sh: line 2: ./config: No such file or directorymake[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127make[1]: Leaving directory `/usr/local/src/nginx-1.9.9'make: *** [build] Error 2需要说明的是,我这里编译所使用的Nginx源码是1.9.9的。根据报错信息我们知道,出错是因为Nginx在编译时并不能在/usr/local/ssl/.openssl/ 这个目录找到对应的文件,其实我们打开/usr/local/ssl/这个目录可以发现这个目录下是没有.openssl目录的,因此我们修改Nginx编译时对openssl的路径选择就可以解决这个问题了解决方案:打开nginx源文件下的/usr/local/src/nginx-1.9.9/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_LIBS="$CORE_LIBS $NGX_LIBDL"修改成以下代码:CORE_INCS="$CORE_INCS $OPENSSL/include"CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"CORE_LIBS="$CORE_LIBS $NGX_LIBDL" 然后再进行Nginx的编译安装即可##向原作者表示感谢,留为笔记在configure之前,我加入了如下两句:export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfigexport LD_LIBRARY_PATH=/usr/local/openssl/lib