Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jan 2003 09:06:31 -0800 (PST)
From:      Dirk-Willem van Gulik <dirkx@apache.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Dirk-Willem van Gulik <dirkx@apache.org>
Subject:   ports/46786: expat and expat light problems aroudn apache
Message-ID:  <200301051706.h05H6VrD054599@skutsje.san.webweaving.org>

next in thread | raw e-mail | index | archive | help

>Number:         46786
>Category:       ports
>Synopsis:       expat and expat light problems aroudn apache
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 05 09:20:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Dirk-Willem van Gulik
>Release:        FreeBSD 4.6-STABLE-20020831 i386
>Organization:
WebWeaving
>Environment:
System: FreeBSD skutsje.san.webweaving.org 4.6-STABLE-20020831 FreeBSD 4.6-STABLE-20020831 #1: Tue Sep 3 13:24:42 PDT 2002 root@skutsje.san.webweaving.org:/usr/src/sys/compile/SKUTSJE i386

>Description:

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. 

>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.

>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.
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301051706.h05H6VrD054599>