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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHViaW5nMjAwNDQ3OTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在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

nginx-1.5.10 之mips编译到RT5350的更多相关文章

  1. Linux(CentOS 7)+ Nginx(1.10.2)+ Mysql(5.7.16)+ PHP(7.0.12)完整环境搭建

    首先安装Linux系统,我以虚拟机安装来做示例,先去下载 VitualBox,这是一款开源的虚拟机软件,https://www.virtualbox.org 官网地址.或者是VMware,www.vm ...

  2. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

  3. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  4. mysql5.7.10 源码编译安装记录 (centos6.4)【转】

    一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...

  5. Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 转

    Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 首先准备linux内核编译环境: sudo apt-get install fakeroot build-essential ...

  6. 自己动手写CPU之第四阶段(3)——MIPS编译环境的建立

    将陆续上传本人写的新书<自己动手写CPU>(尚未出版).今天是第13篇.我尽量每周四篇 4.4 MIPS编译环境的建立 OpenMIPS处理器在设计的时候就计划与MIPS32指令集架构兼容 ...

  7. OpenCV-3.4.2基于Qt-5.10.1的编译

    OpenCV-3.4.2基于Qt-5.10.1的编译 由于本人在使用CMake和MinGW编译OpenCV是遇到了很多问题,在这里记录下来.至于所需软件的安装和相应环境变量的设置,网上有很多详细的教程 ...

  8. nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token

    nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token 注意: proxy_pass http://192.168.40.54:22 ...

  9. centos 7.0 安装nginx 1.9.10

    可以参考以前安装成功的案例 centos 7.0 nginx 1.7.9成功安装过程 官网下载 http://nginx.org/en/download.html nginx下载位置 /usr/loc ...

随机推荐

  1. swift -Dynamic Dispatch

    These instructions perform dynamic lookup of class and generic methods. The class_method and super_m ...

  2. 導出Excel方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  3. du查看文件大小

    du+文件名就可以查看文件大小 du+ -h + 文件名也是查看文件大小,只是-h会将文件大小转换成M,G等格式

  4. 将Jar安装到本地仓库和Jar上传到私服

    举例 1. 依赖如下: <dependency> <groupId>org.quartz-scheduler.internal</groupId> <arti ...

  5. 第2节 mapreduce深入学习:4, 5

    第2节 mapreduce深入学习:4.mapreduce的序列化以及自定义排序 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化 ...

  6. Python轮换

    switch_source()用于获取文本信息rewrite_source()用于将信息顺序轮换,其参数times表示要轮换多少次, def switch_source(): tmp = [] wit ...

  7. Java中的JVM的内存结构

    Java的虚拟机自身结构图: JVM内存结构主要包括两个子系统和两个组件.两个子系统分别是Classloader子系统和Executionengine(执行引擎)子系统:两个组件分别是Runtimed ...

  8. react-native Android WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.

    android Studio 中打开react-native项目的android文件夹 在sync的过程中 发生warning: WARNING: API 'variant.getMergeAsset ...

  9. Python:用户自定义异常

    实际开发中,有时候系统提供的异常类型不能满足开发的需求.这时候你可以通过创建一个新的异常类来拥有自己的异常.异常类继承自 Exception 类,可以直接继承,或者间接继承. 1.自定义异常类型 #1 ...

  10. Ajax实现跨域访问最新方式

    在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过Ajax相互调用数据,这样问题就来了,如何通过Ajax实现跨域呢? 解决方案 1.Jsonp Jsonp解决跨域相对简单,服务器无需任何配置. ...