Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 533972 - dev-lib/protobuf-2.5.0-r1 without dev-python/pip - The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted.
Summary: dev-lib/protobuf-2.5.0-r1 without dev-python/pip - The package setup script h...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Tim Harder
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-29 20:51 UTC by Chris Folsom
Modified: 2014-12-30 03:29 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Folsom 2014-12-29 20:51:49 UTC
Installing dev-libs/protobuf fails when python use flag is set. Pip is not pulled in as a dependency by portage, but when the build runs, easy_install attempts to fetch pip and install it outside the sandbox causing the build to fail.

Reproducible: Always

Steps to Reproduce:
1. euse -E python
2. emerge -C dev-python/pip
3. emerge dev-libs/protobuf
Actual Results:  
copying google/protobuf/descriptor_pool.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf
copying google/protobuf/message_factory.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf
copying google/protobuf/descriptor.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf
copying google/protobuf/descriptor_database.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf
copying google/protobuf/internal/wire_format.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/message_listener.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/cpp_message.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/decoder.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/containers.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/python_message.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/__init__.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/encoder.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/api_implementation.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/enum_type_wrapper.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/internal/type_checkers.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal
copying google/protobuf/compiler/__init__.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/compiler
copying google/protobuf/compiler/plugin_pb2.py -> /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/compiler
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/service.py to service.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/service_reflection.py to service_reflection.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/descriptor_pb2.py to descriptor_pb2.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/reflection.py to reflection.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/message.py to message.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/text_format.py to text_format.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/__init__.py to __init__.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/descriptor_pool.py to descriptor_pool.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/message_factory.py to message_factory.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/descriptor.py to descriptor.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/descriptor_database.py to descriptor_database.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/wire_format.py to wire_format.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/message_listener.py to message_listener.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/cpp_message.py to cpp_message.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/decoder.py to decoder.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/containers.py to containers.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/python_message.py to python_message.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/__init__.py to __init__.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/encoder.py to encoder.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/api_implementation.py to api_implementation.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/enum_type_wrapper.py to enum_type_wrapper.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/internal/type_checkers.py to type_checkers.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/compiler/__init__.py to __init__.pyc
byte-compiling /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7/usr/lib64/python2.7/site-packages/google/protobuf/compiler/plugin_pb2.py to plugin_pb2.pyc
writing byte-compilation script '/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/tmpay6soB.py'
/usr/bin/python2.7 -OO /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/tmpay6soB.py
removing /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/tmpay6soB.py
running install_egg_info
running egg_info
creating /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/work/protobuf-2.5.0-python2_7/protobuf.egg-info
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 6.0.3
Downloading https://pypi.python.org/packages/source/p/pip/pip-6.0.3.tar.gz#md5=1ca6788e57a176abbdf6d99d69f54ae0
Processing pip-6.0.3.tar.gz
Writing /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/easy_install-o09Dgx/pip-6.0.3/setup.cfg
Running pip-6.0.3/setup.py -q bdist_egg --dist-dir /var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/easy_install-o09Dgx/pip-6.0.3/egg-dist-tmp-ZVB48S
error: Setup script exited with error: SandboxViolation: mkdir('/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/work/protobuf-2.5.0-python2_7/pip.egg-info', 511) {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.
 [31;01m*[0m ERROR: dev-libs/protobuf-2.5.0-r1::gentoo failed (install phase):
 [31;01m*[0m   (no error message)
 [31;01m*[0m 
 [31;01m*[0m Call stack:
 [31;01m*[0m     ebuild.sh, line   93:  Called src_install
 [31;01m*[0m   environment, line 6661:  Called distutils-r1_src_install
 [31;01m*[0m   environment, line 1680:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_install'
 [31;01m*[0m   environment, line  498:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_install'
 [31;01m*[0m   environment, line 6102:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_install'
 [31;01m*[0m   environment, line 5218:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_install'
 [31;01m*[0m   environment, line 5216:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_install'
 [31;01m*[0m   environment, line 1012:  Called distutils-r1_run_phase 'distutils-r1_python_install'
 [31;01m*[0m   environment, line 1649:  Called distutils-r1_python_install
 [31;01m*[0m   environment, line 1576:  Called esetup.py 'install' '--root=/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/image//_python2.7'
 [31;01m*[0m   environment, line 2847:  Called die
 [31;01m*[0m The specific snippet of code:
 [31;01m*[0m       "${@}" || die
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of `emerge --info '=dev-libs/protobuf-2.5.0-r1::gentoo'`,
 [31;01m*[0m the complete build log and the output of `emerge -pqv '=dev-libs/protobuf-2.5.0-r1::gentoo'`.
!!! When you file a bug report, please include the following information:
GENTOO_VM=  CLASSPATH="" JAVA_HOME="/home/cfolsom/Development/tools/jdks/current"
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info =protobuf-2.5.0
 [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/temp/environment'.
 [31;01m*[0m Working directory: '/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/work/protobuf-2.5.0/python'
 [31;01m*[0m S: '/var/tmp/portage/dev-libs/protobuf-2.5.0-r1/work/protobuf-2.5.0'

Expected Results:  
PIP is pulled in as part of the dependency tree when python use flag is set or installation proceeds using setuptools without installing pip.

Work around: Manually install pip.
Comment 1 Tim Harder gentoo-dev 2014-12-30 03:29:41 UTC
Building the python bindings for protobuf doesn't require pip at all, you've probably borked your system somehow.

Have you previously run pip as root to install things in the rootfs or something to that effect? That used to (and might still) rewrite the symlinks that python-exec uses which would then cause weird things like this.