Bug 46786 - expat and expat light problems aroudn apache
Summary: expat and expat light problems aroudn apache
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-05 17:20 UTC by Dirk-Willem van Gulik
Modified: 2003-02-16 06:03 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk-Willem van Gulik 2003-01-05 17:20:00 UTC
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.
Comment 1 Andrey A. Chernov freebsd_committer freebsd_triage 2003-02-16 06:03:01 UTC
State Changed
From-To: open->closed

Apache port now uses full expat