[users at bb.net] Upgrade from 0.9.12 to 0.9.13 broken by non-buildbot issues

Christopher J. Morrone morrone2 at llnl.gov
Thu Nov 9 00:06:22 UTC 2017


This problem is not at all buildbot's fault, but I thought I would share
the story in case others hit the same pitfall.

In my virtualenv sandbox directory, I upgraded today from buildbot
0.9.12 to 0.9.13.  That pulled in (amongst other things) a new release
of sqlalchemy.  Suddenly sqlalchemy is no longer working.

pip _claims_ that it installed sqlalchemy, but it cannot find it when I
run "pip show sqlalchemy".  python can't find it either when I run
"import sqlalchemy", and that of course means that my buildbot master
will not start.

After far too much digging, I find that the problem has to do with this
Amazon Linux image being a multi-architecture x86_64 one, i.e. one with
both lib and lib64 directories.

The virtualenv command also creates a sandbox tree with "lib" and
"lib64" top level subdirectories.  sqlalchemy happens to be one that
gets installed in lib64 rather than lib.  Apparently python and pip can
only find packages that pip installs in lib.  Sigh.

I have no idea why this only started to bite me after trying to update
to buildbot 0.9.13.  Maybe there was some system package update that I
can't remember that was the real cause of the problem.

Long story short, I am working around this problem by always adding the
option "--target /path/to/my/sandbox/lib" to any pip install command
that I run under my virtualenv sandbox.  That forces package
installations only into lib, avoiding lib64.

>From reading the pip and python issue trackers it seems like this
problem has been known for many years, but no one yet seems to be able
to fix it.

If anyone has a suggestion for a better solution or work-around I'm all
ears.

Chris


More information about the users mailing list