Page MenuHomePhabricator

Error in dependency installation when provisioning Sentry
Closed, ResolvedPublic1 Estimated Story Points

Description

==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:   Running setup.py install for cffi
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:     building '_cffi_backend' extension
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:     x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:     c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:      #include <ffi.h>
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:                      ^
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:     compilation terminated.
==> default: Notice: /Stage[main]/Sentry/Virtualenv::Environment[/srv/sentry]/Exec[virtualenv-/srv/sentry]/returns:     error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Happens on a fresh VM

Event Timeline

Gilles assigned this task to Tgr.
Gilles raised the priority of this task from to Needs Triage.
Gilles updated the task description. (Show Details)
Gilles subscribed.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Per Google feeling lucky, this is a missing dependency on libffi-dev. (Unfortunately pip does not have a sane OS package dependency system, or if it has a lot of Python packages don't use it properly, so if some needed -dev Debian package is missing, you learn of it by getting obscure build errors.)

Change 192995 had a related patch set uploaded (by Gergő Tisza):
Fix dependencies of the sentry module

https://gerrit.wikimedia.org/r/192995

cffi is not a direct dependency; it is probably a dependency of something that was added or updated between 7.0 and 7.2 but I did not find what exactly. New dependenciews appearing when new Sentry versions come out, without a good way to track them, is going to be a problem in the long term. @dduvall, is there a way to automate testing of whether vagrant roles can be applied successfully?

After applying the patch, sentry installs but does not run. That seems to be an application bug; I'll open a new task.

Change 192995 merged by jenkins-bot:
Fix dependencies of the sentry module

https://gerrit.wikimedia.org/r/192995

In T90701#1068737, @Tgr wrote:

After applying the patch, sentry installs but does not run. That seems to be an application bug; I'll open a new task.

T90832

Marking this as resolved since the original issue is gone, but now I run into a different error (I'll file a task for the new one).