pingos icon indicating copy to clipboard operation
pingos copied to clipboard

您好,树莓派4B官方系统,安装报错

Open wufujun2000 opened this issue 4 years ago • 5 comments

您好,我尝试在树莓派4B上安装服务,安装过程参照您的说明,运行release.sh脚本时,使用sudo授权 sudo ./release.sh -i 安装过程报如下错误,能帮我看看这是什么问题,如何解决吗?

In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_simple.o \
	../modules/nginx-rtmp-module/ngx_live_relay_simple.c
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”
make: *** [Makefile:8:build] 错误 2
make -f objs/Makefile install
make[1]: 进入目录“/home/pi/Tools/pingos/nginx”
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o \
	../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c
In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”

wufujun2000 avatar Oct 16 '20 09:10 wufujun2000

您好,我尝试在树莓派4B上安装服务,安装过程参照您的说明,运行release.sh脚本时,使用sudo授权 sudo ./release.sh -i 安装过程报如下错误,能帮我看看这是什么问题,如何解决吗?

In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_simple.o \
	../modules/nginx-rtmp-module/ngx_live_relay_simple.c
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”
make: *** [Makefile:8:build] 错误 2
make -f objs/Makefile install
make[1]: 进入目录“/home/pi/Tools/pingos/nginx”
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o \
	../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c
In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”

ngx_min(st->len, b->last - p);强制转换一下类型,ngx_min((uint32_t)st->len, (uint32_t) (b->last - p));

im-pingo avatar Oct 30 '20 05:10 im-pingo

打开 nginx的安装目录/objs/Makefile,去掉CFLAGS中的-Werror,再重新make -Wall 表示打开gcc的所有警告 -Werror,它要求gcc将所有的警告当成错误进行处理

sxjpage avatar Feb 09 '21 02:02 sxjpage

上数方法不行啊,启动nginx 报告段错误

rubyist1982 avatar Mar 24 '21 06:03 rubyist1982

我也都试了一遍,上面两个办法都没有解决我的问题 pi@raspberrypi:/usr/local/pingos $ sudo ./sbin/nginx Segmentation fault

xiazi718 avatar Mar 25 '22 07:03 xiazi718

启动nginx报Segmentation fault随后失败。

gabacai avatar Sep 09 '23 11:09 gabacai