海思(hisi)交叉编译nginx+spawn+ fcgi+fcgiwrap

一、编译nginx

1.指定编译路径

./configure --prefix=./install  --with-cc=arm-himix200-linux-gcc  --with-cpp=arm-himix200-linux-g++  --with-zlib=$PWD/libs/zlib-1.2.11 --with-pcre=$PWD/libs/pcre-8.41 --without-http_upstream_zone_module --with-openssl=$pwd/libs/openssl-1.1.1l

遇到错误,cannot run C compiled programs

 1.修改./objs/Makefile文件

找到prce编译模块,增加configure的配置参数

 修改为

2.遇到错误

error: 'NGX_SYS_NERR' undeclared (first use in this function)

     msg = ((ngx_uint_t) err < NGX_SYS_NERR) ? &ngx_sys_errl

解决方法:

修改objs下面的nginx_auto_config.h文件,在文件内添加

#ifndef NGX_SYS_NERR

#define NGX_SYS_NERR 132

#endif

3.遇到错误

home/ys/webTest/nginx-1.18.0/src/core/ngx_cycle.c:476: undefined reference to `ngx_shm_alloc'

/home/ys/webTest/nginx-1.18.0/src/core/ngx_cycle.c:685: undefined reference to `ngx_shm_free'

解决方法

#ifndef NGX_HAVE_SYSVSHM

#define NGX_HAVE_SYSVSHM 1

#endif 

二、编译 Spawn-fcgi

 ./configure --host=arm-himix200-linux 

三、编译 fcgi

 ./configure --host=arm-himix200-linux --prefix=$(pwd)/libs

Make;make install


四、编译 fcgiwrap

 ./configure --host=arm-himix200-linux CFLAGS="-L$(pwd)/libs -lfcgi -I$(pwd)/libs/include"  --prefix=$(pwd)/hisi

CFLAGS指定交叉编译出lfcgi的路径和头文件。

可能对host支持不是很完善,需要修改makefile文件,添加交叉编译项

 

继续编译遇到 undefined reference to 'rpl_malloc'

 

此时修改当前目录下的config.h文件,将下图行屏蔽掉

 

再次编译,编译成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值