Still struggling to package the newest Hugo, which I thought would be a
simple matter of tweaking a couple URLs and quickly testing. :/
Hugo uses the Pygments Pip package. In the Sandstorm Vagrant box,
running pip install --upgrade pygments throws:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356,
in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476,
in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190,
in load
['__name__'])
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in
<module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9,
in <module>
from pip.download import path_to_url
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 22, in
<module>
import requests, six
File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line
68, in <module>
_attach_namespace(urllib3, 'requests.packages')
File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line
63, in _attach_namespace
module = __import__(name)
File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py",
line 55, in <module>
import OpenSSL.SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8,
in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/rand.py", line 11, in
<module>
from OpenSSL._util import (
File "/usr/lib/python2.7/dist-packages/OpenSSL/_util.py", line 4, in
<module>
binding = Binding()
File
"/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py",
line 89, in __init__
self._ensure_ffi_initialized()
File
"/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py",
line 113, in _ensure_ffi_initialized
libraries=libraries,
File
"/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/utils.py",
line 80, in build_ffi
extra_link_args=extra_link_args,
File "/usr/lib/python2.7/dist-packages/cffi/api.py", line 340, in verify
lib = self.verifier.load_library()
File "/usr/lib/python2.7/dist-packages/cffi/verifier.py", line 75, in
load_library
return self._load_library()
File "/usr/lib/python2.7/dist-packages/cffi/verifier.py", line 151,
in _load_library
return self._vengine.load_library()
File "/usr/lib/python2.7/dist-packages/cffi/vengine_cpy.py", line
149, in load_library
raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing
'/usr/lib/python2.7/dist-packages/cryptography/_
Cryptography_cffi_813c10e0x7adb75f8.x86_64-linux-gnu.so':
/usr/lib/python2.7/dist-packages/cryptography/_
Cryptography_cffi_813c10e0x7adb75f8.x86_64-linux-gnu.so:
symbol SSLv2_client_method, version OPENSSL_1.0.0 not defined in file
libssl.so.1.0.0 with link time reference
python-openssl is already the latest version. So next I do:
apt-get upgrade -y
which gets pip working, but then throws this on vagrant-spk dev:
sandstorm/util.c++:56: failed: open(name.cStr(), flags, mode): No such
device; name = /dev/fuse
stack: 0x477d35
*** Uncaught exception ***
sandstorm/send-fd.c++:90: failed: expected n > 0; premature EOF while
waiting for FD
stack: 0x4e20e2 0x4e16ad 0x504ba3 0x5056a0
I can fix that with a vagrant-spk vm reload, but holy
hoop-jumping-through, Batman. :/ As things stand, a vagrant-spk vm up
isn't enough to package Hugo. You either need to log in and reboot
manually, or I'll just add the reboot step to the script and have users
wait for the VM to reload, which seems kind of ugly.
Is it perhaps time to upgrade this box? I don't know that it's seen any
upgrades in nearly a year and a half. I understand why it doesn't need
to be updated super regularly, but if something as crucial as pip fails
to work out of the box without a reboot, it's probably time. :) I'm also
wedging package upgrades into my spare time, so the more friction that
exists within that process, the less I'm likely to do it.
Thanks.