pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: php 54 extensions not loading due to missing symbols



9. 5. 2014 v 17:45, Dave Tyson <dtyson%anduin.org.uk@localhost>:

> I've just upgraded a server (running current/amd64) to a very recent version 
> of pkgsrc and davical is not working. This all worked fine with slightly 
> older versions as noted later. The php extensions compiled alongside php 5.4 
> seem to have some missing references and get spat out when apache 2.4 loads. 
> This is a show-stopper for davical. The apache error log shows:
> 
> PHP Warning:  PHP Startup: Unable to load dynamic library 
> '/usr/pkg/lib/php/20120301/pdo.so' - /usr/pkg/lib/php/20120301/pdo.so: 
> Undefined symbol &quot;compiler_globals&quot; (symnum = 24) in Unknown on 
> line 0
> PHP Warning:  PHP Startup: Unable to load dynamic library 
> '/usr/pkg/lib/php/20120301/pgsql.so' - /usr/pkg/lib/php/20120301/pgsql.so: 
> Undefined symbol &quot;executor_globals&quot; (symnum = 255) 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: Unable to load dynamic library 
> '/usr/pkg/lib/php/20120301/pdo_pgsql.so' - 
> /usr/pkg/lib/php/20120301/pdo_pgsql.so: Undefined symbol 
> &quot;file_globals&quot; (symnum = 28) in Unknown on line 0
> PHP Warning:  PHP Startup: Unable to load dynamic library 
> '/usr/pkg/lib/php/20120301/iconv.so' - /usr/pkg/lib/php/20120301/iconv.so: 
> Undefined symbol &quot;sapi_globals&quot; (symnum = 77) in Unknown on line 0
> PHP Warning:  PHP Startup: Unable to load dynamic library 
> '/usr/pkg/lib/php/20120301/curl.so' - /usr/pkg/lib/php/20120301/curl.so: 
> Undefined symbol &quot;file_globals&quot; (symnum = 72) 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
> [Fri May 09 16:22:32.373378 2014] [mpm_prefork:notice] [pid 5845] AH00163: 
> Apache/2.4.9 (Unix) PHP/5.4.27 configured -- resuming normal operations
> 

Hi Dave,

I’m just dealing with the same thing. The problem is that with the change made 
in rev. 1.9 of www/apache24/options.mk, the Apache build generates the example 
httpd.conf file with the event MPM loaded. When www/ap-php is built, the PHP’s 
configure script actually calls onto `httpd -V` to see if a threaded MPM is 
selected, and will unconditionally enable thread safety for the apache SAPI, 
regardless of whether the zts-maintainer option was enabled or not, and 
regardless of whether you plan to use it with event or prefork MPM.

What this means is that on a stock pbulk set of packages, lang/php55 and all 
PHP extensions will be built with thread safety disabled, and www/ap-php with 
thread safety enabled, and of course mod_php will refuse to load the extensions 
that do not match in this regard.

I’m working on disabling that part of PHP’s configure script so that the PHP 
stack builds consistently (thread safety enable only if 
PKG_OPTIONS.php=zts-maintainer), because a built time feature should never 
depend on a runtime condition of another package.

-F

--
Filip Hajny
Joyent Inc.



Home | Main Index | Thread Index | Old Index