Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 May 2006 23:33:22 -0700 (PDT)
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/97883: www/mod_bw 0.7 doesn't work on 4.x due to patch in files/
Message-ID:  <20060525063322.7B0865E36@mx1.parodius.com>
Resent-Message-ID: <200605250640.k4P6eGEl023559@freefall.freebsd.org>

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

>Number:         97883
>Category:       ports
>Synopsis:       www/mod_bw 0.7 doesn't work on 4.x due to patch in files/
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 25 06:40:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Jeremy Chadwick
>Release:        FreeBSD 4.11-STABLE i386
>Organization:
Parodius Networking
>Environment:
System: FreeBSD pentarou.parodius.com 4.11-STABLE FreeBSD 4.11-STABLE #0: Thu Jan 12 01:50:11 PST 2006 root@pentarou.parodius.com:/usr/obj/usr/src/sys/PENTAROU i386
>Description:
	The mod_bw port contains a single patch in files/, which includes
	some very strange code:

+#if APR_MAJOR_VERSION == 0
+#define        apr_atomic_set32(mem,val)       (atomic_set_32(mem,val),mem)
+#define        apr_atomic_inc32(mem)           (atomic_add_32(mem,1),mem)
+#define        apr_atomic_dec32(mem)           (atomic_subtract_32(mem,1),mem)
+#define        apr_atomic_add32(mem,val)       (atomic_add_32(mem,val),mem)
+#define apr_atomic_cas32               apr_atomic_cas
+#endif

	This was introduced when the port was upgraded to 0.7.

	This code, simply put, does not work with Apache 2.2.2 on
	FreeBSD 4.x.  The end result is that mod_bw finds missing symbol
	references to the atomic_*_32() functions, because they aren't
	available on 4.x.

	The native apr_atomic_*32() functions come with Apache 2.2.2, and
	these work fine on 4.x.  What I'm saying is, on 4.x, all I have
	to do is remove the patch in files/ and mod_bw works.

	We need to have this fixed, and it's quite important.  I'd recommend
	that the patch only be applied on 5.x and 6.x systems, since it's
	not necessary on 4.x boxes.

>How-To-Repeat:
	On a 4.x box, build mod_bw, then try to run Apache with the module
	loaded.  You'll receive missing symbol definitions for atomic_*_32()
	functions.
>Fix:
	See description.


>Release-Note:
>Audit-Trail:
>Unformatted:



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