Apache is compiled with its default expat-lite. Other apache modules such ad mod_dav use the expat-lite of apache. However XML parsers in PHP, python or the perl one of mod_perl XML::Parser will need to use the real expat; and once linked into the binary will cause a symbol clash. Generally few module actually use the apache build in expat; with mod_dav as the known exception. But all modules will also work with the real expat. Fix: Solution 1 Let all apache compiles have the line --disable-rule=EXPAT added to their CONFIGURE args. add expat as a dependency for the *ONLY* user it has; mod_dav with --enable=expat=/usr/local on ports/www/mod_dav. All other dependencies already asume expat. This is a slightly larger fix; and has the risk that some other port module also relies on expat (which we would need to add). But it reduces footprint and makes nice use of the DSO and shared lib. Which is good. Solution 2 Set the rule in apache to be the system expat and add a dependency to apache ports for exapt. This is a smaller change; but means that apaches binary is slightly more bloated. How-To-Repeat: cd /usr/ports (cd www/apache13; make all install) And then add things using xml such as php, mod_perl/XML::Parser from ports. Any will do.
State Changed From-To: open->closed Apache port now uses full expat