You'll also need to add the dependency everywhere that depends on 3rdparty/python:mesos.interface.
On Tue, Feb 17, 2015 at 9:39 AM, Kevin Sweeney <kevi...@apache.org> wrote: > I ran into this issue as well - it looks like the problem is that Mesos > requires protobuf<3, which 3.0.0-alpha1 technically is (pants uses a > different resolver than pip - pip will ignore alpha versions unless run > with --pre). A workaround is to add an explicit dependency on > protobuf==2.6.1 to our 3rdparty/python/requirements.txt and add a > dependency on 3rdpary/python:protobuf everywhere that depends on > 3rdparty/python:mesos.native. > > If you fix this, it'd be awesome if you could submit a patch. > > Thanks, > Kevin > > On Tue, Feb 17, 2015 at 1:06 AM, Erb, Stephan <stephan....@blue-yonder.com > > wrote: > >> Hi everyone, >> >> we try to build the latest Aurora git version on a Debian 7 host. >> Unfortunately, the resulting executor seems to be broken, as it fails to >> start with the following message: >> >> >> WARNING: Logging before InitGoogleLogging() is written to STDERR >> I0216 18:16:51.178513 25237 fetcher.cpp:76] Fetching URI >> '/opt/thermos/bin/thermos_executor.sh' >> I0216 18:16:51.178513 25237 fetcher.cpp:179] Copying resource from >> '/opt/thermos/bin/thermos_executor.sh' to >> '/var/lib/mesos/slaves/20141218-095422-1985259712-5050-31688-0/frameworks/20140919-174559-16842879-5050-27194-0000/executors/thermos-1424107010619-stratosphere-staging-strato-stage-service-71-0-9120fb5c-4b4b-425e-90f5-0d83224b9d64/runs/fe198e72-d41e-41c3-a006-27dad0ed758b' >> Traceback (most recent call last): >> File "/opt/thermos/bin/thermos_executor.pex/.bootstrap/_pex/pex.py", >> line 272, in execute >> self.execute_entry(entry_point, args) >> File "/opt/thermos/bin/thermos_executor.pex/.bootstrap/_pex/pex.py", >> line 320, in execute_entry >> runner(entry_point) >> File "/opt/thermos/bin/thermos_executor.pex/.bootstrap/_pex/pex.py", >> line 342, in execute_pkg_resources >> runner = entry.load(require=False) # trust that the environment is >> sane >> File >> "/opt/thermos/bin/thermos_executor.pex/.bootstrap/pkg_resources.py", line >> 2048, in load >> entry = __import__(self.module_name, globals(),globals(), >> ['__name__']) >> File >> "/opt/thermos/bin/thermos_executor.pex/apache/aurora/executor/bin/thermos_executor_main.py", >> line 24, in <module> >> File >> "/.pex/install/mesos.native-0.21.1-py2.7-linux-x86_64.egg.b3704775c8aad2e57af36756ac89f16a8ca72ae1/mesos.native-0.21.1-py2.7-linux-x86_64.egg/mesos/native/__init__.py", >> line 17, in <module> >> from ._mesos import MesosExecutorDriverImpl >> File >> "/.pex/install/mesos.interface-0.21.1-py2-none-any.whl.00a9556e7f26cf49f09f1542a1ee274c058ea78c/mesos.interface-0.21.1-py2-none-any.whl/mesos/interface/mesos_pb2.py", >> line 4, in <module> >> from google.protobuf.internal import enum_type_wrapper >> ImportError: cannot import name enum_type_wrapper >> >> >> I have attached the pants build log. It seems like pants is pulling in a >> wrong protobuf version (protobuf-3.0.0_alpha_1 instead of protobuf 2.6.1). >> >> The issue can even be simulated locally: >> * pip install mesos.interface with an old virtualenv 1.11 (including pip >> 1.5 and setuptools 2.0.2) pulls in protobuf-3.0.0-alpha-1 >> * pip install mesos.interface with the latest and greatest pip 6.0.8 and >> setuptools 12.2 pulls protobuf-2.6.1 >> >> How can this happen? Isn't the "build-support/virtualenv" script supposed >> to prevent that? I also tried patching the setuptools_version in pants.ini, >> but it did not help. >> >> Any ideas? >> >> Best Regards, >> Stephan >> >> >> >> >> >