Public bug reported:
It appears that uwsgi-plugin-psgi does not load libperl.so and therefore
the package is unusable.
How to test:
1. # apt-get install uwsgi uwsgi-plugin-psgi
2. # vi /etc/uwsgi/apps-available/test.yaml
Put the following contents there:
---cut-here---
uwsgi:
plugins: psgi
psgi: /dev/null
---cut-here---
3. # ln -s /etc/uwsgi/apps-available/test.yaml /etc/uwsgi/apps-enabled/
4. # service uwsgi restart
5. # less /var/log/uwsgi/app/test.log
Observe the following error message: /usr/lib/uwsgi/plugins/psgi_plugin.so:
undefined symbol: boot_DynaLoader
The problem is obvious when looking at the uwsgi plugin file with ldd:
$ ldd /usr/lib/uwsgi/plugins/psgi_plugin.so
linux-vdso.so.1 => (0x00007fff395ff000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f4a70d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f2f4a4f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2f4acfe000)
It does not load the perl shared library!
As a workaround I retrieved the current source package version
1.2.3+dfsg-2~experimental1 from Debian and built it on Ubuntu precise. It works
fine (and gives excellent PSGI performance :).
Compare the ldd output:
$ ldd /usr/lib/uwsgi/plugins/psgi_plugin.so
linux-vdso.so.1 => (0x00007fffa33ff000)
libperl.so.5.14 => /usr/lib/libperl.so.5.14 (0x00007fbf47482000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007fbf47265000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbf46ea7000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbf46ca3000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbf469a9000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1
(0x00007fbf4676f000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbf47a13000)
The working version of the plugin depends on libperl.so while the non-
working version does not.
I think the problem has been fixed by this upstream commit:
https://github.com/unbit/uwsgi/commit/15aaddb4d306912c2cb570cb47a82a68b900a27a
See the changes in plugins/psgi/uwsgiplugin.py
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: uwsgi-plugin-psgi 1.0.3+dfsg-1
ProcVersionSignature: Ubuntu 3.2.0-25.40-generic 3.2.18
Uname: Linux 3.2.0-25-generic x86_64
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Sat Jul 14 01:57:46 2012
InstallationMedia: Xubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110920.2)
ProcEnviron:
LANGUAGE=en_US:en
TERM=xterm
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: uwsgi
UpgradeStatus: Upgraded to precise on 2012-04-27 (77 days ago)
** Affects: uwsgi (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug precise
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1024528
Title:
psgi_plugin.so: undefined symbol: boot_DynaLoader
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/uwsgi/+bug/1024528/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs