﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
23	MP4 module fails to build under Debian hurd-i386	Cyril Lavier	somebody	"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"	defect	closed	minor		nginx-module	1.1.x	fixed	patch, build fail, hurd, mp4 module		GNU debian 0.3 GNU-Mach 1.3.99/Hurd-0.3 i686-AT386 GNU	1.1.4
