码迷,mamicode.com
首页 > 其他好文 > 详细

为powerpc交叉编译nginx

时间:2015-07-03 15:56:14      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:nginx powerpc 交叉编译

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. 收工



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

为powerpc交叉编译nginx

标签:nginx powerpc 交叉编译

原文地址:http://blog.csdn.net/butyesbutno/article/details/46740885

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!