交叉编译移植到arm板中
1.准备源代码,依赖库
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf openssl-1.1.1d.tar.gz
tar -jxvf pcre-8.32.tar.bz2
tar -zxvf nginx-1.16.1.gz
2.cd …/nginx-1.16.1
3.vi configure 注释下面三行
4.vi auto/cc/conf 修改gcc=arm-himix200-linux-gcc
5.vi auto/types/sizeof 修改ngx_size=8 (32位目标平台是4 64位是8)
6.vi auto/feature 注释掉ngx自检
7.vi src/os/unix/ngx_time.h 添加头文件time.h
8.vi src/os/unix/ngx_errno.h 添加NGX_SYS_NERR定义
9.vi src/event/ngx_event_accept.c 打开_GNU_SOURCE 使能accept4()
10.vi src/event/ngx_event_udp.c 把NGX_HAVE_INET6 都注释掉
vi src/os/unix/ngx_udp_sendmsg_chain.c 把NGX_HAVE_INET6 都注释掉
11.执行./configure
./configure --prefix=/mnt/data/web/armnginx
–with-zlib=…/zlib-1.2.11
–with-pcre=…/pcre-8.32
–with-openssl=…/openssl-1.1.1d
–with-http_ssl_module
–with-http_flv_module
–with-cc=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc
–with-cpp=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++
–add-module=…/nginx-http-flv-module
说明:是安装路径
结果:
12.vi ./objs/Makefile 添加 --host=arm-himix200-linux
13 && ./Configure --prefix=/home/share/test/NginxArm/src/openssl-1.1.1d/.openssl no-shared no-threads
–cross-compile-prefix=“/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-”
linux-generic32 no-shared no-threads
备注:linux-generic32目标板子是32位,若板子是64位的则 linux-generic64
14.make && make install
nginx交叉编译常见错误:
解决办法:第十三步骤
启动服务器解决错误:
修改nginx.conf 用户 user root



