[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