[pkg-uWSGI-devel] Bug#962186: Bug#962186: Bug#962186: uwsgi-plugin-php: CI fails with SIG_SEGV in bullseye

Jonas Smedegaard jonas at jones.dk
Fri Jun 5 11:50:21 BST 2020


Quoting Alexandre Rossi (2020-06-05 12:24:12)
> > > The problem seems to be that the PHP plugin is compiled against PHP7.4
> > > and is linked with libphp.so which points to 7.3 in bullseye and 7.4 in sid.
> > > 
> > > $ ldd /usr/lib/uwsgi/plugins/php_plugin.so | grep php
> > > libphp7.so => /usr/lib/libphp7.so (0x00007f4b8ca48000)
> > > $ ls -l /usr/lib/libphp7.so
> > > lrwxrwxrwx 1 root root 25 mai   11 19:41 /usr/lib/libphp7.so -> /etc/alternatives/libphp7
> > > $ ls -l /etc/alternatives/libphp7
> > > lrwxrwxrwx 1 root root 21 mai   11 19:41 /etc/alternatives/libphp7 -> /usr/lib/libphp7.4.so
> > > 
> > > The php plugin should explicitly be linked against /usr/lib/libphp7.4.so
> > 
> > It seems uwsgi gets its information for which library to link against
> > from /usr/bin/php-config (see /usr/src/uwsgi/plugins/php/uwsgiplugin.py).
> > 
> > And it seems php-dev and php4.7-dev ships php-config* tools that (I guess)
> > both provides that name using the dpkg alternatives systems.
> > 
> > Try check if those varying build tools offer different build hints,
> > and if they do then try comeup with a patch for plugins/php/uwsgiplugin.py
> > to use php-config only by default, overridable by an environment variable.
> 
> I do not have much experience with shared object libraries, but as
> libphp7.3.so and libphp7.4.so declare the same soname libphp7.so, I could
> not find a way for uwsgi-plugin-php to explicitely reference libphp7.4.so :
> passing -lphp7.4 to the linker still goes back to linking to libphp7.so .

Ah, sorry - seems I misunderstood the issue.


> The only solution I found is to explicitely depend[1] on 
> libphp7.4-embed in the dependencies.

Don't we already do that by depending on PHP ABI?

If phpapi-20190902 is provided by multiple binary incompatible package 
releases, then it seems to me that there is a bug in PHP packaging!

If you agree (i.e. if I haven't again misunderstood the issue) then I 
think this bug should be reassigned to src:php7.4 as we already follow 
their mechanism for locking in on a specific ABI.


> While debugging this, I found it usefull to have the uwsgi build system do
> verbose[2] builds.
> 
> [1] https://salsa.debian.org/uwsgi-team/uwsgi-plugin-php/-/commit/d031916dfe72cca4831c4eb2efcb2db3058e8533
> [2] https://salsa.debian.org/uwsgi-team/uwsgi/-/commit/7ba0a0b19818e1e886924fb9227be32e4e0af6f9

Thanks! Packaging builds should indeed be verbose by default.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-uwsgi-devel/attachments/20200605/eb0b4287/attachment.sig>


More information about the pkg-uWSGI-devel mailing list