Red Hat Bugzilla – Bug 178691
Wrong apr_off_t type makes mod_mono build fail on 32bit archs
Last modified: 2007-11-30 17:11:21 EST
I've recompiled successfully mod_mono on FC development x86_64, but the very
same source package fails on i386 with :
configure:21429: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=pentium4
-fasynchronous-unwind-tables -I/usr/include/apr-1 -I/usr/include/httpd
In file included from /usr/include/httpd/ap_config.h:25,
/usr/include/apr-1/apr.h:270: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'apr_off_t'
Which makes it fallback to apache 1.3 when trying to detect the apache
version (which is 2.0 obviously).
That line reads "typedef off64_t apr_off_t;" which apparently
32bit gcc doesn't like. Changing the type made the detection work, and the
build to succeed, but I'm not 100% sure the type I've set is correct.
mod_mono needs to use `apr-1-config --cppflags` etc in CPPFLAGS etc, or use
apxs, otherwise it won't pick up necessary flags like -D_LARGEFILE64_SOURCE.
Indeed, that was the problem, as compilation works after changing that in
configure. Thanks a lot!