nginx-1.5.10 之mips编译到RT5350

编译nginx-1.5.10一般须要下面库的支持:pcre,zlib,openssl

此次编译nginx-1.5.10使用的库版本号分别为pcre-8.34;openssl-1.0.0l;zlib-1.2.8将这些看和nginx放在同一文件夹例如以下图


在nginx加入一个shell脚本文件runscript.sh

#!/bin/sh
BUILD_PATH=../release
CC_PATH=/opt/buildroot-gcc342/bin/mipsel-linux-gcc 
CPP_PATH=/opt/buildroot-gcc342/bin/mipsel-linux-g++
./configure
--with-openssl=/home/nginx/nginx/openssl-1.0.0l
--prefix=$BUILD_PATH
--user=nginx
--group=nginx
--builddir=$BUILD_PATH/build
--with-zlib=/home/nginx/nginx/zlib-1.2.8
--with-pcre
--with-pcre=/home/nginx/nginx/pcre-8.34
--with-pcre-jit
--with-cc=$CC_PATH
--with-cpp=$CPP_PATH


运行脚本文件后成成makefile

src/os/unix/ngx_files.c: In function `ngx_read_ahead':
src/os/unix/ngx_files.c:473: warning: implicit declaration of function `posix_fadvise'
make[1]: *** [../release/build/src/os/unix/ngx_files.o] 错误 1
make[1]: Leaving directory `/home/nginx/nginx/nginx-1.5.10'
make: *** [build] 错误 2
[root@zq nginx-1.5.10]# 

将makefile中的

-Werror -g  去除

再次又一次运行make,又出现错误
objs/src/core/ngx_cycle.o:In function `ngx_init_cycle':
/home/loongsoner/job/web-server/nginx-1.4.3/src/core/ngx_cycle.c:464:undefined reference to `ngx_shm_free'
/home/loongsoner/job/web-server/nginx-1.4.3/src/core/ngx_cycle.c:469:undefined reference to `ngx_shm_alloc'
/home/loongsoner/job/web-server/nginx-1.4.3/src/core/ngx_cycle.c:647:undefined reference to `ngx_shm_free'
objs/src/event/ngx_event.o:In function `ngx_event_module_init':
/home/loongsoner/job/web-server/nginx-1.4.3/src/event/ngx_event.c:526:undefined reference to `ngx_shm_alloc'
意思是ngx_shm_free和ngx_shm_alloc函数没有定义,解决方法是定义宏NGX_HAVE_SYSVSHM 

在自己主动生成的头文件里加入下面宏

#ifndef NGX_SYS_NERR
#define NGX_SYS_NERR 132
#endif


#ifndef NGX_HAVE_SYSVSHM
#define NGX_HAVE_SYSVSHM1
#endif 


终于make && make install生成nginx








原文地址:https://www.cnblogs.com/gcczhongduan/p/5238688.html