[blfs-dev] PHP-5.5.10 error: 'tsrm_ls' undeclared [Was: ... #4813: SWIG 3.0.0]

Fernando de Oliveira famobr at yahoo.com.br
Sat Mar 22 07:59:28 PDT 2014

Em 22-03-2014 11:06, Armin K. escreveu:
> On 03/22/2014 02:32 PM, Fernando de Oliveira wrote:
>> Em 22-03-2014 08:48, BLFS Trac escreveu:
>>> #4813: SWIG 3.0.0
>>> -----------------------------+------------------------------
>>>  Reporter:  pierre.labastie  |       Owner:  pierre.labastie

>>> Comment (by pierre.labastie):
>>>  All tests passed, except some with PHP: several tests have an issue with
>>>  'tsrm_ls' undeclared, and I do not know whether it comes form our php
>>>  build or from swig. This issue was also present in older versions.
>> I think the problem is php.

>> http://permalink.gmane.org/gmane.linux.lfs.beyond.devel/26100

>>> Please, somene confirm if this is a local or a general problem (in this
>>> case, a solution would be muc welcomed).
>> ...
>>> gv_php_init.c: In function 'gv_string_writer':
>>> /usr/include/php/Zend/../TSRM/TSRM.h:167:18: error: 'tsrm_ls' undeclared
>>> (first use in this function)
>>>  #define TSRMLS_C tsrm_ls
>> Thanks for confirming that it is a general problem.
>> I will investigate again, if cannot find a solution, will open a ticket.
> Default php that's built against apache 2.4.x is thread safe php, also
> known as ZTS which is kind of experimental feature. tsrm_ls is probably
> wrapped and exported when ZTS is enabled and SWIG doesn't assume that
> php is built with ZTS enabled. I wish I could help more, but I don't
> know that much about php. Hope that I helped at least a bit.

Helped a lot, thanks.

I had seen an sed from ArchLinux, and was in great doubt if should use
it. Now that you say ZTS is "kind of experimental", I incleded it.

Solved for graphviz.

Now, it would be interesting hearing from Pierre.

This is the sed I am intending to include in PHP:

      sed '/APACHE_THREADED_MPM=/d' \
          -i sapi/apache2handler/config.m4 \
          -i configure &&

Comment in ArchLinux:
"	# Just because our Apache 2.4 is configured with a threaded MPM
          by default does not mean we want to build a ZTS PHP.
	# Let's supress this behaviour and build a SAPI that works fine
           with the prefork MPM."

Command Explanations:

sed '/APACHE_THREADED_MPM=/d' ... build SAPI, instead ZTS PHP

If someone objects, please tell here.

If someone could help me with the "Command Explanations:", I would much
appreciate. Thanks.

Anyway, will wait Pierre, before committing.


More information about the blfs-dev mailing list