[
https://issues.apache.org/jira/browse/MESOS-5145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15231287#comment-15231287
]
Vinod Kone commented on MESOS-5145:
-----------------------------------
cc [~chenzhiwei]
Can Mesos be built without Internet access today? IIRC our CMake build
explicitly reaches out to 3rd party repos to download deps. Also I thought we
required access to maven during build time. cc [~hausdorff] [~karya]
> protobuf vendored but its depencencies are not
> ----------------------------------------------
>
> Key: MESOS-5145
> URL: https://issues.apache.org/jira/browse/MESOS-5145
> Project: Mesos
> Issue Type: Bug
> Components: build
> Reporter: David Robinson
>
> Updating [protobuf from 2.5 to
> 2.6.1|https://github.com/apache/mesos/commit/51872fba7f94d80e55c9cc9b46f96780a938f626]
> has caused Mesos builds to fail if pypi.python.org is unreachable.
> Protobuf-2.6.1 requires
> [google-apputils|https://pypi.python.org/pypi/google-apputils] and if it's
> not available the build process will attempt to download it from pypi.
> Prior to this change it was possible to build Mesos without Internet access.
> If the build process reaches out to arbitrary things on the Internet it's
> impossible to guarantee build reproducibility.
> {noformat:title=snippet from setup.py in protobuf-2.6.1.tar.gz}
> setup(name = 'protobuf',
> version = '2.6.1',
> ...
> setup_requires = ['google-apputils'],
> ...
> )
> {noformat}
> {noformat:title=snippet from build log}
> 08:20:49 DEBUG: Building protobuf Python egg ...
> 08:20:49 DEBUG: cd ../3rdparty/libprocess/3rdparty/protobuf-2.6.1/python &&
> \
> 08:20:49 DEBUG: CC="gcc" \
> 08:20:49 DEBUG: CXX="g++" \
> 08:20:49 DEBUG: CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
> -Wno-unused-local-typedefs" \
> 08:20:49 DEBUG: CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
> -Wno-unused-local-typedefs -Wno-maybe-uninitialized -std=c++11"
> \
> 08:20:49 DEBUG:
> PYTHONPATH=/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26
> \
> 08:20:49 DEBUG: /usr/bin/python2.7 setup.py build bdist_egg
> 08:20:49 DEBUG: Download error on
> http://pypi.python.org/simple/google-apputils/: [Errno 111] Connection
> refused -- Some packages may not be found!
> 08:20:49 DEBUG: Download error on
> http://pypi.python.org/simple/google-apputils/: [Errno 111] Connection
> refused -- Some packages may not be found!
> 08:20:49 DEBUG: Couldn't find index page for 'google-apputils' (maybe
> misspelled?)
> 08:20:49 DEBUG: Download error on http://pypi.python.org/simple/: [Errno 111]
> Connection refused -- Some packages may not be found!
> 08:20:49 DEBUG: No local packages or download links found for google-apputils
> 08:20:49 DEBUG: Traceback (most recent call last):
> 08:20:49 DEBUG: File "setup.py", line 200, in <module>
> 08:20:49 DEBUG: "Protocol Buffers are Google's data interchange format.",
> 08:20:49 DEBUG: File "/usr/lib64/python2.7/distutils/core.py", line 111, in
> setup
> 08:20:49 DEBUG: _setup_distribution = dist = klass(attrs)
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/setuptools/dist.py",
> line 221, in __init__
> 08:20:49 DEBUG: self.fetch_build_eggs(attrs.pop('setup_requires'))
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/setuptools/dist.py",
> line 245, in fetch_build_eggs
> 08:20:49 DEBUG: parse_requirements(requires),
> installer=self.fetch_build_egg
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/pkg_resources.py",
> line 580, in resolve
> 08:20:49 DEBUG: dist = best[req.key] = env.best_match(req, self,
> installer)
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/pkg_resources.py",
> line 825, in best_match
> 08:20:49 DEBUG: return self.obtain(req, installer) # try and
> download/install
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/pkg_resources.py",
> line 837, in obtain
> 08:20:49 DEBUG: return installer(requirement)
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/setuptools/dist.py",
> line 294, in fetch_build_egg
> 08:20:49 DEBUG: return cmd.easy_install(req)
> 08:20:49 DEBUG: File
> "/builddir/build/BUILD/mesos-0.29.0/3rdparty/distribute-0.6.26/setuptools/command/easy_install.py",
> line 584, in easy_install
> 08:20:49 DEBUG: raise DistutilsError(msg)
> 08:20:49 DEBUG: distutils.errors.DistutilsError: Could not find suitable
> distribution for Requirement.parse('google-apputils')
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)