Okay, I fixed my problem.
The default OpenWRT apr (Apache Runtime Library) has DSO disabled (why? I guess to save space, but the difference in size in minimal). After enabling, apr and apache don't seem to get much bigger (difference is less than < 10KB).
Compiling all modules as dynamic is bad since apache says it has a 5% impact on performance. However, having it enabled allows for the omission of modules people might not need (I'm thinking SSL here) reducing space and for easy packaging and bolting on of other modules, such as PHP. If the performance impact is that great people can either compile themselves or if demand is great enough OpenWRT can offer two packages. I believe Debian has an apache-ssl package for precisely this reason. (statically linked SSL is significantly faster)
Changing these two lines in the Makefile for apr
--disable-dso \
apr_cv_process_shared_works=no
by removing the first and changing the no to yes, allows you to set
--enable-so \
--enable-mods-shared='rewrite info foo' \
in apache's makefile.
I don't have a full grasp of the buildroot yet, so I'm sure there is some way to get the mod_rewrite.so and mod_info.so modules I compiled in the .ipkg itself, but I had to move them over manually after I compiled and updated to my custom packages.
Anyway... I was able to change my /etc/httpd.conf to load the modules without error and /server-info works! So I am happy that everything is working.
This really should be put in the documentation somewhere. If I figure out how to integrate better with the build system (i.e. get the modules in the .ipkg and integrate some defines with menuconfig) I'll post some patches. However, first I'll try to get PHP5 to integrate with apache as a module. This actually should be really easy now.
EDIT: I was wrong about apr and apache being bigger with DSO enabled. I left some .ipkgs on the flash when doing my comparison.
(Last edited by TemplaraPhoenix on 2 Aug 2007, 22:14)