Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
海思(hisi)交叉编译nginx+spawn+ fcgi+fcgiwrap,希望能够帮助你!!!。
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
./configure --host=arm-himix200-linux
./configure --host=arm-himix200-linux --prefix=$(pwd)/libs
Make;make install
./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文件,将下图行屏蔽掉
再次编译,编译成功
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章