Package Details: sentry 8.16.0-1

Git Clone URL: https://aur.archlinux.org/sentry.git (read-only)
Package Base: sentry
Description: Python-based realtime logging and aggregation server.
Upstream URL: http://pypi.python.org/pypi/sentry
Licenses: BSD
Submitter: zancarius
Maintainer: zancarius
Last Packager: zancarius
Votes: 7
Popularity: 0.103241
First Submitted: 2012-11-04 17:15
Last Updated: 2017-05-02 03:53

Pinned Comments

zancarius commented on 2017-05-06 22:42

If you're having trouble launching Sentry due to a missing libssl.so (probably 1.0.0), it's likely a consequence of OpenSSL 1.0.x's recent move into the extra/openssl-1.0 package. OpenSSL 1.1 is now the version installed with the core/openssl package, and building Sentry on a system that previously had OpenSSL 1.0.0 installed may cause problems immediately following an update. At this time, there are three possible workarounds. In order of increasing difficulty they are:

1) Update your system. Rebuild Sentry and install. Do not rebuild Sentry with an AUR helper. Use makepkg directly; you can use yaourt -G to download the package to a build directory, however. AUR helpers add an extra layer of complexity and may make troubleshooting difficult.

If you've already updated your system, update it again using pacman (not yaourt or another wrapper). Rebuild Sentry and reinstall. Again.

2) Install extra/openssl-1.0. This workaround should be adequate for the foreseeable future but doesn't address the underlying problem of uWSGI not building against the latest version of OpenSSL.

3) Uninstall/reinstall uWSGI from Sentry's directory if it refuses to pick up the correct OpenSSL version:

$ /opt/sentry/bin/pip uninstall uwsgi
$ /opt/sentry/bin/pip install --prefix=/opt/sentry uwsgi

(Only do this if you absolutely have to get Sentry running and have no other alternatives.)

=========

This issue has nothing to do with Sentry or with uWSGI's build process (nor is there any reason it should). I've been unable to replicate the problem on any of my machines thusfar, including ones with both core/openssl and extra/openssl-1.0 installed. Therefore, I believe it's possible that the problem may be caused or aggravated by automated tools or scripts (particularly yaourt, if used to update the system + AUR packages) that attempt to update the system (again, including AUR packages) in a single pass or by an ld cache that hasn't yet picked up the new version of OpenSSL. If you're having trouble with OpenSSL versions, you may need to run ldconfig manually to update the appropriate caches (-p may be helpful to see what ldconfig is seeing before updating the cache; see below for reporting difficulties).

Given the nature of OpenSSL and the depth to which it is often intertwined with userland applications, you SHOULD reboot your machine following any update has changed/updated it unless you're comfortable with restarting *all* services by hand. Rebooting is probably faster/easier/less error prone.

REPORTING DIFFICULTIES

If you continue to have trouble, be absolutely certain you've updated your system, rebooted, rebuilt and reinstalled Sentry, and then provide the output of the following:

$ ldconfig -p | grep libssl
$ ldd /opt/sentry/bin/uwsgi | grep libssl

This post may be edited for clarity or to provide further information.

Thanks!

Latest Comments

zancarius commented on 2017-05-06 22:42

If you're having trouble launching Sentry due to a missing libssl.so (probably 1.0.0), it's likely a consequence of OpenSSL 1.0.x's recent move into the extra/openssl-1.0 package. OpenSSL 1.1 is now the version installed with the core/openssl package, and building Sentry on a system that previously had OpenSSL 1.0.0 installed may cause problems immediately following an update. At this time, there are three possible workarounds. In order of increasing difficulty they are:

1) Update your system. Rebuild Sentry and install. Do not rebuild Sentry with an AUR helper. Use makepkg directly; you can use yaourt -G to download the package to a build directory, however. AUR helpers add an extra layer of complexity and may make troubleshooting difficult.

If you've already updated your system, update it again using pacman (not yaourt or another wrapper). Rebuild Sentry and reinstall. Again.

2) Install extra/openssl-1.0. This workaround should be adequate for the foreseeable future but doesn't address the underlying problem of uWSGI not building against the latest version of OpenSSL.

3) Uninstall/reinstall uWSGI from Sentry's directory if it refuses to pick up the correct OpenSSL version:

$ /opt/sentry/bin/pip uninstall uwsgi
$ /opt/sentry/bin/pip install --prefix=/opt/sentry uwsgi

(Only do this if you absolutely have to get Sentry running and have no other alternatives.)

=========

This issue has nothing to do with Sentry or with uWSGI's build process (nor is there any reason it should). I've been unable to replicate the problem on any of my machines thusfar, including ones with both core/openssl and extra/openssl-1.0 installed. Therefore, I believe it's possible that the problem may be caused or aggravated by automated tools or scripts (particularly yaourt, if used to update the system + AUR packages) that attempt to update the system (again, including AUR packages) in a single pass or by an ld cache that hasn't yet picked up the new version of OpenSSL. If you're having trouble with OpenSSL versions, you may need to run ldconfig manually to update the appropriate caches (-p may be helpful to see what ldconfig is seeing before updating the cache; see below for reporting difficulties).

Given the nature of OpenSSL and the depth to which it is often intertwined with userland applications, you SHOULD reboot your machine following any update has changed/updated it unless you're comfortable with restarting *all* services by hand. Rebooting is probably faster/easier/less error prone.

REPORTING DIFFICULTIES

If you continue to have trouble, be absolutely certain you've updated your system, rebooted, rebuilt and reinstalled Sentry, and then provide the output of the following:

$ ldconfig -p | grep libssl
$ ldd /opt/sentry/bin/uwsgi | grep libssl

This post may be edited for clarity or to provide further information.

Thanks!

zancarius commented on 2017-05-05 02:38

I'm not sure I can explain this given that I can't replicate the problem. It *should* be linking against whatever OpenSSL version is on the build host.

I suppose you could grep through ldconfig -v to see what it thinks it sees, but I'm not optimistic that will yield any clues. Outside something like ld.so.cache not updating properly (which should've meant uWSGI would fail to build), I'm out of ideas.

I doubt it'll happen again but being as this PKGBUILD simply calls `pip` to install Sentry there's no reason it shouldn't have worked any differently from installing uWSGI into the Sentry directory manually.

Possibly interesting discussion thread begins here suggesting some packages may not have been fully built against OpenSSL 1.1.x.:

https://bugs.archlinux.org/task/53776

Honestly, I'm not sure this is an issue that can be resolved with this PKGBUILD or even Sentry for that matter.

mitchhentges commented on 2017-05-05 02:11

I didn't install extra/openssl-1.0, but here's what I found:

Re-building with yaourt (after clearing /tmp/yaourt-tmp-mitch), |ldd /opt/sentry/bin/uwsgi| showed "not found" for libssl.so.1.0

After manually running makepkg, then extracting the package, |ldd uwsgi| showed "not found" for libssl.so.1.0.0

Interestingly, if I sftp'd /the same/ uwsgi file from ^ to my desktop (from my server, where sentry was being built), I successfully got: "libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007fbeb4e6b000)"

Finally, installing uwsgi through pip solved my problem, |ldd /opt/sentry/bin/uwsgi| on my server shows: "libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007fcaf9357000)

It's running now, but I'm nervous about the next update
"

zancarius commented on 2017-05-05 00:57

I'm wondering if there's something wrong with your linker or yaourt is interfering. Upon rebuilding Sentry or reinstalling uWSGI, ldd shows the following:

[corona:sentry]$ ldd /opt/sentry/bin/uwsgi
[snip]
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f8f91c4b000)

I'd imagine yours is still showing libssl.so.1.0.0. I'd suggest trying at least one of the following:

- Don't use yaourt. Build the package with makepkg. You can use yaourt to collect the package, e.g.:

$ yaourt -G sentry
$ cd sentry && makepkg

- If the above doesn't work, try installing uwsgi by hand and see whether ldd shows any changes:

$ cd /opt/sentry
$ sudo -u sentry ./bin/pip uninstall uwsgi
$ sudo -u sentry ./bin pip install --prefix=/opt/sentry uwsgi

zancarius commented on 2017-05-05 00:37

For the time being, it looks like you may need to install the package extra/openssl-1.0. I may update this PKGBUILD to include that in the dependencies, but I'd much rather find a more permanent solution.

mitchhentges commented on 2017-05-04 22:55

I rebuilt Sentry (yaourt -S sentry). That didn't do the trick, but I'm not too worried. Thanks for investigating into this, let me know if you need more details!

zancarius commented on 2017-05-04 22:29

Ah, looks like there's been a bump in the OpenSSL version recently (within the last 1-2 weeks).

I'd suggest rebuilding Sentry if you haven't already and see if that works. If you're using makepkg by hand, try removing the `pkg` and `src` dirs completely first. If you've updated Arch, it might be impossible to downgrade OpenSSL otherwise due to dependencies and such.

I can't pick this back up until later this evening, but if that doesn't work for you, I'll take a look in about 2-3 hours or so.

mitchhentges commented on 2017-05-04 22:25

Yep, I installed and built Sentry on the same machine

zancarius commented on 2017-05-04 22:23

I'll have to look into this later, but I've noticed a couple of things. If uWSGI is trying to pull in an older version of OpenSSL (which it shouldn't, but perhaps there's a reason for it), then it's possible the version Sentry wants is doing the wrong thing here.

uWSGI depends on OpenSSL though to build (you can see this in the community/uwsgi package as well), so I'm not entirely surprised.

Did you build Sentry on the same machine it's installed on?

mitchhentges commented on 2017-05-04 22:15

I'm getting the following error in "sentry-web". I'm running Sentry behind nginx as a proxy, and using HTTPS:

uwsgi: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

All comments