为powerpc交叉编译nginx
HOST: MINT
NGINX VERSION: nginx-1.8.0(nginx-1.8.0.tar.gz)
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. 编辑auto/cc/name文件第十行
ngx_feature_run=yes =》
ngx_feature_run=no
否则./configure ... 会出现“checking for C compiler ... not found”之类的提示
2. 编辑auto/types/sizeof,36行
ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS =》
ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS
否则./configure ... 会出现“objs/autotest: Syntax error: "(" unexpected”之类的提示
3. ./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路径中)
4. 如今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
5. 还是要编辑objs/Makefile,大约是1100行
./configure --disable-shared --enable-jit =》
./configure --disable-shared --enable-jit --host=powerpc-e300c3-linux-gnu
明白host,否则编译pcre过程中有提示:“If you meant to cross compile, use `--host'.”
--host=powerpc-e300c3-linux-gnu =》改动一下
6. 编辑src/os/unix/ngx_errno.h。
#include <ngx_core.h>后面加上
#ifndef NGX_SYS_NERR
#define NGX_SYS_NERR 666
#endif
7. 编辑src/os/unix/ngx_shmem.c,第12行
#if (NGX_HAVE_MAP_ANON) =》
#if (!NGX_HAVE_MAP_ANON)
不改动这个,会出现“undefined reference to `ngx_shm_free'“错误
8. 对于ppc32或者其它32位cpu,编辑objs/ngx_auto_config.h,第77行
#define NGX_PTR_SIZE 8 =》
#define NGX_PTR_SIZE 4
否则编译后程序在目标机执行会出现“Illegal instruction”,或者
nginx: [emerg] invalid number "1024" in /home/nginx/conf/nginx.conf:13,等等不能正常识别数字问题
9. make
10. make install
为powerpc交叉编译nginx的更多相关文章
- 交叉编译php5,、nginx、squid方法
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 交叉编译php5 软件版本:php-5.4.27 依赖库:zlib,libxml2 交叉编译器:arm-hisi ...
- Nginx在嵌入式系统中的应用
-----------------本文转载自 http://blog.csdn.net/xteda/article/details/39708009 ------------------------- ...
- nginx Unit 服务器
转自: https://github.com/nginx/unit/pull/18/ 感谢: https://www.v2ex.com/t/389528 English 简体中文 繁體中文 NGINX ...
- Nginx-->基础-->理论-->001:Nginx基本介绍
一.nginx基本介绍 传统上基于进程或者线程模型架构的web服务通过每进程或者每线程处理并发连接请求,这势必毁在网络和I/O操作时产生阻塞,其另外一个必然结果则是对内存和CPU的利用率低下,产生一个 ...
- 新塘ARM平台交叉编译minigui界面库
简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 ...
- minigui交叉编译整理
简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 ...
- nginx php-cgi php
/*************************************************************************** * nginx php-cgi php * 说 ...
- CentOS6 上OpenWRT交叉编译
目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...
- nginx ----> 官网about页面(翻译)
Nginx about链接:https://nginx.org/en/ nginx 基本的HTTP服务器功能其他HTTP服务器功能邮件代理服务器功能TCP / UDP代理服务器功能架构和可扩展性经测试 ...
随机推荐
- HDU1312 / POJ1979 / ZOJ2165 Red and Black(红与黑) 解题报告
题目链接:pid=1312" target="_blank">HDU1312 / POJ1979 / ZOJ2165 Red and Black(红与黑) Red ...
- C++类中静态变量和静态方法的注意事项
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...
- Android之应用开发基础
Android应用开发基础 英文地址:http://developer.android.com/guide/components/fundamentals.html 本人英语水平不高,如有翻译不当请指 ...
- python 从bulkblacklist信誉查询网站提交查询
import urllib import urllib2 #import webbrowser import re import socket def is_domain_in_black_list( ...
- linux HBA 卡驱动安装
系统环境操作系统 : RHEL5.0设备 DL580G5 HBA 卡:Qlogic 2343连接存储: EVA8100---------------------------------------- ...
- 32.QT绘图
widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPainter> #inclu ...
- ubuntu中不能远程连接解决
今天装好ubuntu19.04之后不能远程连接,网上找了很久终于自己解决了.ap 步骤如下:希望对各位有用,哪里不对请指出 第一步我们需要加载openssh-server 等待加载完毕后, ...
- FFmpeg 移植 Android
近期项目需要解析苹果的HLS流媒体协议,而FFmpeg从0.11.1“Happiness”版本开始,才增加了对HLS协议的支持.目前网上关于FFmpeg编译移植的文章有很多,但大多都是对旧版本的说明. ...
- 小白向:web中利用request.getPart()上传文件到服务器
被文件上传弄得焦头烂额的一天,果然web中的路径和各种设置真的好讨厌= = 下面是超级小白的.及其简约的“详”解 1.明确目的: 用户将 1.txt 文件 上传到 服务器(web工程下的某个文件夹)中 ...
- DOM基础知识(概念、节点树、事件、Document)
1. DOM概念 全称为 Document Object Model,译为文档对象模型 D:文档 - DOM将HTML页面解析为一个文档 —> document对象 O:对象 - DOM将H ...