#23 closed defect (fixed)
MP4 module fails to build under Debian hurd-i386
Reported by: | Cyril Lavier | Owned by: | somebody |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-module | Version: | 1.1.x |
Keywords: | patch, build fail, hurd, mp4 module | Cc: | |
uname -a: | GNU debian 0.3 GNU-Mach 1.3.99/Hurd-0.3 i686-AT386 GNU | ||
nginx -V: | 1.1.4 |
Description
Hi.
On Debian packaging, we decided to include the MP4 module as it could be very usefull.
The build goes well on all architectures, except hurd-i386.
Here is the error
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -DNDK_SET_VAR -I src/core -I src/event -I src/event/modules -I src/os/unix -I /root/orig/nginx-1.1.4/debian/modules/nginx-development-kit/objs -I objs/addon/ndk -I /usr/include/lua5.1 -I /root/orig/nginx-1.1.4/debian/modules/nginx-http-push/src -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/modules/perl -I /root/orig/nginx-1.1.4/debian/modules/nginx-development-kit/src \ -o objs/src/http/modules/ngx_http_mp4_module.o \ src/http/modules/ngx_http_mp4_module.c src/http/modules/ngx_http_mp4_module.c: In function ‘ngx_http_mp4_update_mdat_atom’: src/http/modules/ngx_http_mp4_module.c:1069:24: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] src/http/modules/ngx_http_mp4_module.c:1072:9: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:1072:9: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:1072:9: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:1072:9: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c: In function ‘ngx_http_mp4_update_co64_atom’: src/http/modules/ngx_http_mp4_module.c:2764:5: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:2764:5: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:2764:5: error: right shift count >= width of type [-Werror] src/http/modules/ngx_http_mp4_module.c:2764:5: error: right shift count >= width of type [-Werror] cc1: all warnings being treated as errors make[2]: *** [objs/src/http/modules/ngx_http_mp4_module.o] Error 1
So I went on the search and use my little C coding knowledge, and I arrived to resolve the first error ("src/http/modules/ngx_http_mp4_module.c:1069:24: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]"), using the patch attached to this ticket.
But for the remaining error, I'm a little lost, and the only thing I know is I have to patch the ngx_mp4_set_64value function, declared at line 189.
At this point, I'm unable to find a solution.
For the moment, we are working on disabling this module for the hurd-i386 arch, which is not what we like to do.
So if anybody upstream can help me resolve this issue, we can work together.
Thanks
Attachments (1)
Change History (3)
by , 13 years ago
Attachment: | MP4_fails_under_hurdi386.patch added |
---|
comment:1 by , 13 years ago
Status: | new → accepted |
---|
(see also http://mailman.nginx.org/pipermail/nginx/2011-September/029440.html)
This looks like result of the fact that off_t used is 32-bit wide.
First draft of a patch aiming to resolve this issue.