为powerpc交叉编译nginx

HOST: MINT

NGINX VERSION: nginx-1.5.8(nginx-1.5.8_arm.tar)

ZLIB VERSION: zlib-1.2.8

PCRE VERSION: pcre-8.33

nginx 居然不太支持交叉编译,configure里面没有现成参数可以设置。

不过幸好提供了--with-cc --with-cpp。

网上最新的PCRE版本是10.0,nginx使用这个版本会有问题(pcre2),建议使用pcre-8.33.

1. ./configure --prefix=/disk2/nginx/install --with-zlib=/disk2/zlib/zlib-1.2.8 --with-pcre --with-pcre=/disk2/pcre/pcre-8.33 --with-pcre-jit --with-cc=powerpc-linux-gcc  --with-cpp=powerpc-linux-g++

--with-zlib 后面是你zlib 解压以后的source目录

--with-pcre 后面是你pcre 解压以后的source目录

--with-cc 后面请直接写powerpc 的 c compiler名称,可以加上路径(最好c compiler在PATH路径中)

--with-cpp 后面请直接写powerpc 的 c++ compiler名称,可以加上路径(最好c++ compiler在PATH路径中)

2. 现在make的话会出现“cc1: warnings being treated as errors”

编辑 objs/Makefile,取消CFLAGS中的-Werror标志(第三行)

CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g =》

CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g

3. 编辑auto/cc/name文件第十行

ngx_feature_run=yes =》

ngx_feature_run=no

4. 编辑auto/types/sizeof,36行

ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS =》

ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS

5. 编辑src/os/unix/ngx_errno.h,

#include <ngx_core.h>后面加上

#ifndef NGX_SYS_NERR

#define NGX_SYS_NERR 666

#endif

6. 编辑src/os/unix/ngx_shmem.c,第12行

#if (NGX_HAVE_MAP_ANON) =》

#if (!NGX_HAVE_MAP_ANON)

不修改这个,会出现“undefined reference to `ngx_shm_free‘“错误

7. make

8. make install

9. 收工

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-29 05:00:44

为powerpc交叉编译nginx的相关文章

世界第三大Web服务器-Nginx在嵌入式系统中应用(ARM处理器)

      本文作为老技术人对国庆(2014.10.01)的献礼,有限开放,属于本工作室5A级保密文件,不提供技术咨询: Nginx("Engine X")作为世界第三大Web服务器,如果能应用到嵌入式系统中应用中是多么美好的事情,如下将告诉你实现的可能, 实现(通过验证)最小硬件配置(300Mhz ARM9,128MB内存). 1. 交叉编译PCRE库,Nginx对PCRE库有依赖,PCRE(Perl Compatible Regular Expressions)是一个Perl库,包

第三世界大Web服务器-Nginx在嵌入式系统中应用(ARM处理器)

本文作为老技术人对国庆(2014.10.01)的献礼,有限开放,属于本工作室5A级保密文件,不提供技术咨询: Nginx("Engine X")作为世界第三大Web服务器,如果能应用到嵌入式系统中应用中是多么美好的事情,如下将告诉你实现的可能, 实现(通过验证)最小硬件配置(300Mhz ARM9,128MB内存). 交叉编译PCRE库 ,Nginx对PCRE库有依赖,PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼

Nginx在嵌入式系统中的应用

-----------------本文转载自 http://blog.csdn.net/xteda/article/details/39708009 ---------------------------- Technorati 标签: nginx ARM (作者 冯青华  信庭嵌入式工作室(www.xteda.com)- CEO Blog:http://blog.csdn.net/fqheda )                                 <转载请注名来路> 本文作为老

浅析 Linux 下的 arm 交叉编译工具

什么是交叉编译工具 http://elinux.org/Toolchains 要解释交叉编译工具,我们首先要理解三个基本概念: 编译平台:是指该编译器是在哪个平台编译出来的 编译主机:编译器运行在哪个平台 目标平台:编译器为哪个平台产生代码 比如我们在 Ubuntu(Linux) 下编译 arm 开发板的程序,那么: 编译平台就是 X86,该编译器在 x86上运行 编译主机就是这台运行 Ubuntu Linux 的电脑 目标平台就是 arm 开发板 所以通常所指的交叉编译,就是在该平台编译生成在

Linux arm-linux交叉编译环境的配置

声明来自http://blog.csdn.net/lianyq1986/article/details/6651447 step:1.配置crosstool[[email protected] crosstool-ng-1.9.3]# ./configure --prefix=/opt/powerpc/install_dir/Checking for 'grep'... /bin/grepChecking whether '/bin/grep' supports -E... yesCheckin

nginx操作系统

nginx 编辑 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代理服务器及

PowerPC平台 u-boot 移植

PowerPC功能很强的通信处理器,支持1000M以太网接口,以Freescale的P1010处理器为开发平台,讲述移植linux的整个过程,与大家分享. 1.配置交叉编译链 网上下载交叉编译工具,配置环境变量 sudo gedit /etc/environment 在末尾添加交叉编译链路径 :/home/freescale/work/tools/freescale/bin log out(不需要重启),输入如下,验证交叉编译是否安装成功: [email protected]:~/work/u-

PowerPC平台 Linux移植二

继PowerPC平台 Linux移植一,制作busybox文件系统,目的实现单板挂载nfs文件系统. 1.制作busybox文件系统 (1)交叉编译busybox a.make menuconfig 配置Cross Compile prefix 位powerpc-linux-gnu- Installation Options 路径指定为/home/freescale/work/source/fs_mini b.make DOC     busybox.pod DOC     BusyBox.tx

PHP的MIPS交叉编译

物联网内存吃紧,跑JVM这种内存大户肯定吃不消.要跑还是跑C实现的服务,比如Nginx+PHP+SQLite.比如一些家用无线路由器,系统是Linux发行版OpenWrt,内存只有64MB到128MB,单核580MHz.而PHP内置HTTP服务器和SQLite数据库,在无线路由器里对外提供HTTP服务丝毫没有问题.交叉编译PHP也很简单:cd /opt/miwifi/src/php-7.1.5CC=mipsel-openwrt-linux-uclibc-gcc \AR=mipsel-openwr