php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17255 httpd won't start , pth_mutex_release is undefined
Submitted: 2002-05-15 13:07 UTC Modified: 2002-06-24 13:25 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:2 (100.0%)
Same OS:2 (100.0%)
From: dsp at edu dot physics dot uoc dot gr Assigned:
Status: Closed Package: Apache2 related
PHP Version: 4.2.1 OS: FreeBSD 4.5
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: dsp at edu dot physics dot uoc dot gr
New email:
PHP Version: OS:

 

 [2002-05-15 13:07 UTC] dsp at edu dot physics dot uoc dot 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

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-06-13 09:46 UTC] sniper@php.net
See bug: http://bugs.php.net/?id=14594 which has good
explanation what the problem is. 

 [2002-06-22 18:46 UTC] FullyArticulate at yahoo dot 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-24 13:20 UTC] bpopp at midsouth dot rr dot 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-24 13:25 UTC] 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-09-22 22:15 UTC] cn_star at 21cn dot com
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();....
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jan 08 05:01:28 2025 UTC