#17255 [Com]: httpd won't start , pth_mutex_release is undefined
| From: | cn_star at 21cn dot com | Date: | Mon, 23 Sep 2002 03:15:20 +0000 |
| Subject: | #17255 [Com]: httpd won't start , pth_mutex_release is undefined | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-20067@lists.php.net to get a copy of this message | ||
ID: 17255
Comment by: cn_star@21cn.com
Reported By: dsp@edu.physics.uoc.gr
Status: Closed
Bug Type: Apache2 related
Operating System: FreeBSD 4.5
PHP Version: 4.2.1
New Comment:
FreeBsd4.6.2+mysql-3.23.52+httpd-2.0.40+php-4.2.3
1¡¢INSTALL mysql:
tar vxzf mysql-3.23.52.tar.gz
cd mysql-2.23.52
./configure
--prefix=/path/to/mysql
./make
./make install
2¡¢INSTALL pth-1.4.1:
tar vxzf pth-1.4.1.tar.gz
cd pth-1.4.1
./configure
(You cann't use "./configure --prefix=/path/to/" !!!)
make
make test
make install
3¡¢INSTALL httpd-2.0.40:
tar vxfz httpd-2.0.40.tar.gz
cd httpd-2.0.40
./configure ¨Cprefix=/path/to/httpd --enable-module=so
make
make install
4¡¢INSTALL php-4.2.3:
tar vxfz php-4.2.3.tar.gz
cd ../php-4.2.3
./configure --with-mysql=/path/to/mysql
--with-apxs2=/path/to/httpd/bin/apxs
--with-tsrm-pth --with-gd=/usr/local --enable-trans-sid
--enable-track-vars
// ---------if you have't gd ,remove --with-gd=/usr/local
make
make install
cp php.ini-dist /usr/local/lib/php.ini
add httpd.conf :
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps
//_________ finish all of above,you will phpinfo();....
Previous Comments:
------------------------------------------------------------------------
[2002-06-24 13:25:11] rasmus@php.net
Try the latest CVS version of PHP. Since threads are completely broken
on FreeBSD, Apache2 defaults to the prefork MPM which is a non-threaded
MPM. So all this stuff is not necessary. Simply build PHP
non-threaded and it will work. In the latest CVS I added a check for
the prefork MPM and turned off threading in PHP.
------------------------------------------------------------------------
[2002-06-24 13:20:50] bpopp@midsouth.rr.com
I was having this same problem on Redhat 7.1 trying to install 2.0.36
and PHP 4.2.1. Through a myriad of different installation procedures, I
ended up making a change to my sapi/apache2filter/php_functions.c file,
installing GNU pth, and adding a lib directory to the root php
directory before running 'make install'. After doing all this I got a
successful build, but I ended up getting the pth_mutex_release error
when trying to start apache.
My original config line looked like :
./configure --with-mysql --with-tsrm-pth=/usr/local/libs/pth
--with-apxs2=/usr/local/apache2/bin/apx
s --with-xml --enable-track-vars
The --with-tsrm-pth=/usr/local/libs/pth part was recommended in a
google search. It was apparently invalid for my install and ultimately
the part that caused the pth_mutex_release problem (despite a
successful build). After removing the path (and allowing it to use the
default), Apache ran fine and PHP works perfectly.
I'm guessing my /usr/local/libs/pth directory is an old version of pth
which doesn't handle the
pth_mutex_release() function in the same way as newer versions.
Hope this helps..
------------------------------------------------------------------------
[2002-06-22 18:46:33] FullyArticulate@yahoo.com
Your response to his error is incorrect.
When I do not correctly specify --with-tsrm-pth, Iget the error
"Undefined symbol 'pthread_getspecific'". If I *DO* specify the
--with-tsrm-pth correctly, I get, "Undefined symbol
'pthread_mutex_release'".
These are two different errors which are dependent upon whether
--with-tsrm-pth was specified correctly or not.
Regardless, I still cannot get PHP-4.2.1 to work with Apache 2.0.
------------------------------------------------------------------------
[2002-06-13 09:46:48] sniper@php.net
See bug: http://bugs.php.net/?id=14594 which has good
explanation what the problem is.
------------------------------------------------------------------------
[2002-05-15 13:07:18] dsp@edu.physics.uoc.gr
hi and thanks for reading ,
i am using a freebsd 4.5 on an i386 , running php 4.2.1 , apache 2.0.36
,pth 1.4.1(as requested from php).
When i try to start httpd i get the following error message
"Cannot load /usr/share/apache2/modules/libphp4.so into server:
/usr/share/apache2/modules/libphp4.so :Undefined symbol
"pth_mutex_release""
i found out that pth_mutex_release is a synchronization function
...(?!?)
anybody has any idea?
thanks again
DsP
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17255&edit=1