Subject: pkg/29184: Missing symbol when loading zlib.so with php-zlib+APACHE_MPM=worker (apache2)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <juan@xtraeme.nopcode.org>
List: pkgsrc-bugs
Date: 02/01/2005 16:51:01
>Number:         29184
>Category:       pkg
>Synopsis:       Missing symbol when loading zlib.so with php-zlib+APACHE_MPM=worker (apache2)
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 01 16:51:00 +0000 2005
>Originator:     Juan RP <juan@xtraeme.nopcode.org>
>Release:        NetBSD 2.99.15
>Organization:
The NetBSD Project
>Environment:
System: NetBSD Mandylion 2.99.15 NetBSD 2.99.15 (Mandylion) #5: Tue Feb 1 02:11:33 CET 2005 juan@Nocturno:/home/juan/build/obj/sys/arch/i386/compile/Mandylion i386
Architecture: i386
Machine: i386
>Description:
	I was trying to use apache2 with APACHE_MPM=worker and www/websvn,
	a cvsweb alike for subversion, which requires ap-php+php-zlib.

	It works perfectly when using defaults (APACHE_MPM=prefork), but
	not with APACHE_MPM=worker (which uses threads), the httpd log
	was saying:

PHP Warning:  Unknown(): Unable to load dynamic library 
'/usr/pkg/lib/php/20020429/zlib.so' - /usr/pkg/lib/php/20020429/zlib.so: Undefined 
symbol "output_globals" (symnum = 61) in Unknown on line 0

	I've been looking at the code of php-zlib, and I think the missing 
	symbol is inside an #ifdef ZTS block, I think it's used for multithreads
	support.

>How-To-Repeat:
	cd www/apache2 && make APACHE_MPM=worker && cd ../websvn && make install
	[ configure php.ini to load zlib.so]
	See /var/log/httpd/error_log for the error.

>Fix:
	Sorry, I don't know... and I wish to know!