LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 05-20-2012, 07:00 AM   #1
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 866

Rep: Reputation: 264Reputation: 264Reputation: 264
PHP Update 2012-05-19 breaks extensions for apache


I've just been bashing my head against the keyboard for the last few hours trying to track this one down.

The addition of php-fpm in the build script results in the extensions that were built earlier in the Apache2 build been overwritten with new ones that are incompatible.

Why the modules are incompatible I don't know.

Possible fixes :-
1. Don't build fpm (but someone will want it I'm sure)
2. Build fpm using different directories for it's modules (possible config file issues perhaps?)
3. Go for 2 different PHP packages (put the second package in extra with warnings that it replaces the other and is not an extension of it)

EDIT

Another gotcha from this update is mysql_install_db needs to be run from /usr due to a path issue.

Last edited by wildwizard; 05-20-2012 at 07:03 AM.
 
Old 05-20-2012, 10:33 AM   #2
Spirtt0
LQ Newbie
 
Registered: Oct 2011
Posts: 2

Rep: Reputation: Disabled
Yeap, last update broke php extentions.

Quote:
PHP Warning: PHP Startup: bcmath: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: bz2: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: calendar: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: ctype: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/curl.so' - /usr/lib64/php/extensions/curl.so: undefined symbol: file_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/dba.so' - /usr/lib64/php/extensions/dba.so: undefined symbol: executor_globals in Unknown on line 0
PHP Warning: PHP Startup: exif: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: ftp: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: gettext: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: gd: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: gmp: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/iconv.so' - /usr/lib64/php/extensions/iconv.so: undefined symbol: sapi_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/ldap.so' - /usr/lib64/php/extensions/ldap.so: undefined symbol: executor_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mbstring.so' - /usr/lib64/php/extensions/mbstring.so: undefined symbol: sapi_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysql.so' - /usr/lib64/php/extensions/mysql.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysqli.so' - /usr/lib64/php/extensions/mysqli.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/openssl.so' - /usr/lib64/php/extensions/openssl.so: undefined symbol: file_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/pdo.so' - /usr/lib64/php/extensions/pdo.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/pdo_mysql.so' - /usr/lib64/php/extensions/pdo_mysql.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/pdo_sqlite.so' - /usr/lib64/php/extensions/pdo_sqlite.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning: PHP Startup: pspell: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: shmop: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/snmp.so' - /usr/lib64/php/extensions/snmp.so: undefined symbol: executor_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/soap.so' - /usr/lib64/php/extensions/soap.so: undefined symbol: sapi_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/sqlite3.so' - /usr/lib64/php/extensions/sqlite3.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/tokenizer.so' - /usr/lib64/php/extensions/tokenizer.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/wddx.so' - /usr/lib64/php/extensions/wddx.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/xsl.so' - /usr/lib64/php/extensions/xsl.so: undefined symbol: executor_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/zip.so' - /usr/lib64/php/extensions/zip.so: undefined symbol: executor_globals in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/zlib.so' - /usr/lib64/php/extensions/zlib.so: undefined symbol: sapi_globals in Unknown on line 0
[Sun May 20 17:21:48.193334 2012] [mpm_event:notice] [pid 10013:tid 140068776830848] AH00489: Apache/2.4.2 (Unix) PHP/5.4.3 configured -- resuming normal operations
[Sun May 20 17:21:48.193505 2012] [core:notice] [pid 10013:tid 140068776830848] AH00094: Command line: '/usr/sbin/httpd'
Slackware Linux Current x86_64
 
Old 05-21-2012, 01:40 AM   #3
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 492

Rep: Reputation: 274Reputation: 274Reputation: 274
Can you be a bit more specific on either of the issues? What errors do you get?
 
Old 05-21-2012, 01:57 AM   #4
Spirtt0
LQ Newbie
 
Registered: Oct 2011
Posts: 2

Rep: Reputation: Disabled
Quote:
Originally Posted by ppr:kut View Post
Can you be a bit more specific on either of the issues? What errors do you get?
After update extentions wan't load because have error in symbols lookup, for example

Code:
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysql.so' - /usr/lib64/php/extensions/mysql.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysqli.so' - /usr/lib64/php/extensions/mysqli.so: undefined symbol: core_globals in Unknown on line 0
....
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/tokenizer.so' - /usr/lib64/php/extensions/tokenizer.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/wddx.so' - /usr/lib64/php/extensions/wddx.so: undefined symbol: compiler_globals in Unknown on line 0

Last edited by Spirtt0; 05-21-2012 at 01:59 AM.
 
Old 05-21-2012, 03:49 AM   #5
conraid
Member
 
Registered: Feb 2008
Location: Leghorn, Tuscany, Italy
Distribution: Slackware
Posts: 111

Rep: Reputation: 33
With default configuration file also get this error in 32bit version:

Code:
[Mon May 21 09:39:46.466785 2012] [:crit] [pid 2963:tid 3070310144] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
AH00013: Pre-configuration failed
in 64bit version, I don't get that error, but as the poster:
Code:
[..]
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysql.so' - /usr/lib64/php/extensions/mysql.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysqli.so' - /usr/lib64/php/extensions/mysqli.so: undefined symbol: core_globals in Unknown on line 0
[..]
 
Old 05-21-2012, 03:57 AM   #6
ponce
Senior Member
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 3,853

Rep: Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901
for mysql_install_db to work I changed two lines (still gotta look why it got that variables wrong)
Code:
--- mysql_install_db.orig       2012-05-16 21:27:30.000000000 +0200
+++ mysql_install_db    2012-05-21 07:26:15.394000008 +0200
@@ -18,9 +18,9 @@
 #
 # All unrecognized arguments to this script are passed to mysqld.
 
-basedir=""
+basedir="/usr"
 builddir=""
-ldata="./data"
+ldata="/var/lib/mysql"
 langdir=""
 srcdir=""
dunno if related (still had to check that too), but I drop this here: to rebuild graphviz, that includes libgv_php.so, I had to update swig to its latest version, because it doesn't generate right code (hinted here).

Last edited by ponce; 05-21-2012 at 04:05 AM.
 
Old 05-21-2012, 03:57 AM   #7
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 866

Original Poster
Rep: Reputation: 264Reputation: 264Reputation: 264
Sorry I posted that on Sunday night and it was the end of my limits (needed to get sleep for work today)

Code:
PHP Warning:  PHP Startup: bcmath: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP    compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
PHP Warning:  PHP Startup: bz2: Unable to initialize module\nModule compiled with build ID=API20100525,NTS\nPHP    compiled with build ID=API20100525,TS\nThese options need to match\n in Unknown on line 0
These errors are followed by the other undefined symbol errors, which is most likely from the modules depending on the earlier modules.

mysql is actually worse in that it seems to have lost all ability to know where it actually is, mysql_install_db will also install the db in /usr/data instead of /var/lib/mysql

Actual error if you don't run it from /usr

Code:
FATAL ERROR: Could not find ./bin/my_print_defaults
 
Old 05-21-2012, 04:08 AM   #8
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 3,677

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
Quote:
Originally Posted by ponce View Post
for mysql_install_db to work I changed two lines (still gotta look why it got that variables wrong)
Code:
--- mysql_install_db.orig       2012-05-16 21:27:30.000000000 +0200
+++ mysql_install_db    2012-05-21 07:26:15.394000008 +0200
@@ -18,9 +18,9 @@
 #
 # All unrecognized arguments to this script are passed to mysqld.
 
-basedir=""
+basedir="/usr"
 builddir=""
-ldata="./data"
+ldata="/var/lib/mysql"
 langdir=""
 srcdir=""
dunno if related (still had to check that too), but I drop this here: to rebuild graphviz, that includes libgv_php.so, I had to update swig to its latest version, because it doesn't generate right code (hinted here).
try have a look on your /etc/my.conf
MySQL 5.5 now uses
Quote:
skip-external-locking
and no longer uses
Quote:
skip-locking
probably this is the problem why it failed to start.
I changed it and it works normally again
 
Old 05-21-2012, 04:09 AM   #9
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 492

Rep: Reputation: 274Reputation: 274Reputation: 274
Quote:
Originally Posted by conraid View Post
With default configuration file also get this error in 32bit version:

Code:
[Mon May 21 09:39:46.466785 2012] [:crit] [pid 2963:tid 3070310144] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
AH00013: Pre-configuration failed
This one is expected. There are many options on how to fix this, for example, use mod_fcgid and/or php-fpm, or switch the apache mpm.

Quote:
Originally Posted by conraid View Post
in 64bit version, I don't get that error, but as the poster:
Code:
[..]
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysql.so' - /usr/lib64/php/extensions/mysql.so: undefined symbol: core_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/mysqli.so' - /usr/lib64/php/extensions/mysqli.so: undefined symbol: core_globals in Unknown on line 0
[..]
Which is what I was interested in. It's interesting to see the errors only happen on x86_64.
 
Old 05-21-2012, 04:14 AM   #10
ponce
Senior Member
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 3,853

Rep: Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901Reputation: 1901
@willy:
sorry, I forgot to say that I tried this on a fresh 64-current full install with latest updates: mysql seems to work fine here too, I only got that little annoyances with mysql_install_db (as wildwizard reported).
 
Old 05-21-2012, 04:14 AM   #11
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 492

Rep: Reputation: 274Reputation: 274Reputation: 274
Quote:
Originally Posted by wildwizard View Post
mysql is actually worse in that it seems to have lost all ability to know where it actually is, mysql_install_db will also install the db in /usr/data instead of /var/lib/mysql

Actual error if you don't run it from /usr

Code:
FATAL ERROR: Could not find ./bin/my_print_defaults
Hmm, I think I know what causes this. I stumbled over this yesterday when updating my mariadb slackbuild for 5.5. There are two cmake parameters for specifying the mysql data dir, the mysql slackbuild uses only one, the other one defaults to /usr/data (which is also installed and removed in the SlackBuild). The issue is that the second parameter seems to expect a relative path. Need to wrap my head around the cmake build system :/
 
Old 05-21-2012, 04:35 AM   #12
conraid
Member
 
Registered: Feb 2008
Location: Leghorn, Tuscany, Italy
Distribution: Slackware
Posts: 111

Rep: Reputation: 33
Quote:
Originally Posted by ppr:kut View Post
This one is expected. There are many options on how to fix this, for example, use mod_fcgid and/or php-fpm, or switch the apache mpm.

I said, with the default file. But I don't think a fix can not use apache module


Quote:
Originally Posted by ppr:kut View Post
T
Which is what I was interested in. It's interesting to see the errors only happen on x86_64.
No, in 32version apache+php not running, so I can not tell if php load modules :-)
 
Old 05-21-2012, 04:39 AM   #13
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 492

Rep: Reputation: 274Reputation: 274Reputation: 274
Quote:
Originally Posted by conraid View Post
I said, with the default file. But I don't think a fix can not use apache module
Yes, the default httpd config in -current does not work with mod_php. This is expected and can be fixed as mentioned above.

Quote:
No, in 32version apache+php not running, so I can not tell if php load modules :-)
Well, the errors you get in x86_64 appear before you'd get the other error. Suppose you fixed the php errors you'd end up with the mpm incompatibility message.
 
Old 05-21-2012, 04:59 AM   #14
conraid
Member
 
Registered: Feb 2008
Location: Leghorn, Tuscany, Italy
Distribution: Slackware
Posts: 111

Rep: Reputation: 33
Quote:
Originally Posted by ppr:kut View Post
Yes, the default httpd config in -current does not work with mod_php. This is expected and can be fixed as mentioned above.
with mod_fgci and/or php-fpm? I would like to use apxs :-)
switch the apache mpm? in what way?

UPDATE

I forgot
without mpm module, I get this error

AH00534: httpd: Configuration error: No MPM loaded.

Last edited by conraid; 05-21-2012 at 05:29 AM.
 
Old 05-21-2012, 05:33 AM   #15
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 3,677

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
Quote:
Originally Posted by ppr:kut View Post
Hmm, I think I know what causes this. I stumbled over this yesterday when updating my mariadb slackbuild for 5.5. There are two cmake parameters for specifying the mysql data dir, the mysql slackbuild uses only one, the other one defaults to /usr/data (which is also installed and removed in the SlackBuild). The issue is that the second parameter seems to expect a relative path. Need to wrap my head around the cmake build system :/
you mean INSTALL_MYSQLDATADIR and MYSQL_DATADIR ??
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
PHP Development In 2012 php-developer Linux - Server 3 01-28-2012 01:23 PM
upgraded apache and php now php breaks on ' and special characters ckob Linux - Server 4 10-22-2007 10:28 PM
php-devel & PHP extensions EHCanadian Mandriva 0 06-23-2005 07:06 PM
Packman libusb update breaks X pilotgi SUSE / openSUSE 1 02-11-2005 06:32 PM
Update breaks several packages apolinsky SUSE / openSUSE 0 12-06-2004 02:30 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:39 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration