mod_ruby on Windows complains about these missing files if I run make in the mod_ruby directory with Apache 2.0.64. No such errors with Apache 2.2
mod_ruby.h:101:19: httpd.h: No such file or directory mod_ruby.h:102:25: http_config.h: No such file or directory mod_ruby.h:103:23: http_core.h: No such file or directory mod_ruby.h:104:22: http_log.h: No such file or directory mod_ruby.h:105:23: http_main.h: No such file or directory mod_ruby.h:106:27: http_protocol.h: No such file or directory mod_ruby.h:107:26: http_request.h: No such file or directory mod_ruby.h:108:25: util_script.h: No such file or directory mod_ruby.h:154:31: http_conf_globals.h: No such file or directory
mode_t error with Apache 2.0.64
C:\Users\zdavatz\software\mod_ruby-1.3.0>make gcc -g -O2 -DFD_SETSIZE=256 -Wall -I. -IC:/Ruby-1.8.6-oniguruma/lib/ruby/1.8/i386-mingw32 -IC:/Ruby-1.8.6-oniguruma/lib/ruby/1.8/i386-mingw32/i386-mingw32 - IC:\APACHE~1.64\include -DWIN32 -c request.c In file included from ap_config.h:20, from httpd.h:30, from mod_ruby.h:101, from request.c:36: apr.h:56: warning: ignoring #pragma warning request.c:794: error: conflicting types for 'mode_t' c:/MinGW-345/bin/../lib/gcc/mingw32/3.4.5/../../../../include/sys/types.h:99: error: previous declaration of 'mode_t' was here request.c: In function `request_finfo': request.c:877: warning: assignment makes integer from pointer without a cast request.c:878: warning: assignment makes integer from pointer without a cast request.c: In function `request_send_fd': request.c:1580: warning: passing arg 2 of `apr_os_file_put' from incompatible pointer type make: *** [request.o] Error 1
mode_t error with Apache 2.2.17
C:\Users\zdavatz\software\mod_ruby-1.3.0>make gcc -g -O2 -DFD_SETSIZE=256 -Wall -I. -IC:/Ruby-1.8.6-oniguruma/lib/ruby/1.8/i386-mingw32 -IC:/Ruby-1.8.6-oniguruma/lib/ruby/1.8/i386-mingw32/i386-mingw32 - I\Apache2.2\include -DWIN32 -c request.c In file included from \Apache2.2\include/ap_config.h:25:0, from \Apache2.2\include/httpd.h:43, from mod_ruby.h:101, from request.c:36: \Apache2.2\include/apr.h:57:0: warning: ignoring #pragma warning request.c:794:13: error: conflicting types for 'mode_t' c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/sys/types.h:99:17: note: previous declaration of 'mode_t' was here request.c: In function 'request_finfo': request.c:877:17: warning: assignment makes integer from pointer without a cast request.c:878:17: warning: assignment makes integer from pointer without a cast request.c: In function 'request_send_fd': request.c:1580:5: warning: passing argument 2 of 'apr_os_file_put' from incompatible pointer type \Apache2.2\include/apr_portable.h:340:27: note: expected 'void **' but argument is of type 'int *' make: *** [request.o] Error 1
is this the solution
Just to close out this bug report...I implemented a workaround by manually running "apxs -q" on the target hardware (where apxs can execute httpd properly), taking the result, editing the PHP configure script, and replacing all $APXS -q references in the --with-apxs2= section with the results. PHP configure then ran properly, and so did make, and I was able to successfully cross-compile libphp5.so.
from
http://www.justskins.com/forums/38997-new-cannot-configure-18226.html
some hints from mod_python
http://www.mail-archive.com/users@httpd.apache.org/msg32064.html
Perl has some decent information about apxs and Windows.
http://perl.apache.org/docs/general/os/win32/faq.html
Some more hints
http://woof.magicsplat.com/blog/build_apache_module_on_windows