Attempting to install spark-parser today I ran into the following issue, seemingly from a distutils sandbox rather than the portage one. Tested on two separate machines both of which gave this error (emerge info to follow): >>> Compiling source in /var/tmp/portage/dev-python/spark-parser-1.4.0/work/spark_parser-1.4.0 ... * python2_7: running distutils-r1_run_phase distutils-r1_python_compile /usr/bin/python2.7 setup.py build Traceback (most recent call last): File "setup.py", line 78, in <module> zip_safe = zip_safe) File "/usr/lib64/python2.7/distutils/core.py", line 111, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib64/python2.7/site-packages/setuptools/dist.py", line 315, in __init__ self.fetch_build_eggs(attrs['setup_requires']) File "/usr/lib64/python2.7/site-packages/setuptools/dist.py", line 361, in fetch_build_eggs replace_conflicting=True, File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 850, in resolve dist = best[req.key] = env.best_match(req, ws, installer) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 1122, in best_match return self.obtain(req, installer) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 1134, in obtain return installer(requirement) File "/usr/lib64/python2.7/site-packages/setuptools/dist.py", line 429, in fetch_build_egg return cmd.easy_install(req) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 665, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 695, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 876, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 1115, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 1103, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: SandboxViolation: mkdir('/var/tmp/portage/dev-python/spark-parser-1.4.0/work/spark_parser-1.4.0-python2_7/nose.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.
Portage 2.3.2 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-5.4.0, glibc-2.23-r2, 4.8.7 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.8.7-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-gentoo-2.3 KiB Mem: 32842144 total, 5315948 free KiB Swap: 38707196 total, 38707196 free Timestamp of repository gentoo: Fri, 11 Nov 2016 22:35:21 +0000 sh bash 4.4-r1 ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1 app-shells/bash: 4.4-r1::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.0-r2::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.5::gentoo, 3.5.2::gentoo dev-util/cmake: 3.6.3::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.22.3-r1::gentoo sys-apps/sandbox: 2.10-r2::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.26.1::gentoo sys-devel/gcc: 5.4.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.8::gentoo (virtual/os-headers) sys-libs/glibc: 2.23-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: git://github.com/gentoo-mirror/gentoo priority: -1000 ikelos location: /var/lib/layman/ikelos masters: gentoo priority: 50 Installed sets: @facebook-tools, @python-libraries, @standard-development, @standard-games, @standard-media, @standard-networking, @standard-software, @standard-system, @standard-tools, @standard-utilities, @trine2, @volatility-deps ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth bzip2 cairo caps cdda cdr clang cli colord cpudetection cracklib crypt cryptsetup cups cxx dbus dri dts dvd dvdr eds egl emboss encode evo exif fam ffmpeg firefox flac fortran fuse gdbm gegl gif glamor gnome gnome-keyring gnome-online-accounts gsm gstreamer gtk gtk3 http iconv icu imagemagick introspection ipv6 jpeg jpeg2k lame lcms ldap libnotify libsecret libvisual mad matroska minizip mmx mmxext mng modules mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl ogg opengl openmp opus pam pango pcre pdf pic png policykit ppds pulseaudio python qt3support raw readline sdl seccomp session speex spell srt sse sse2 sse2i ssh ssl startup-notification svc svg systemd tcpd theora threads tiff tracker truetype udev udisks unicode upnp-av upower usb v4l vaapi vorbis vpx wxwidgets x264 xattr xcb xkb xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Seems this is just a missing dependency on dev-python/nose. The setup.py lists it as a setup_requirement, even though it's only really required for tests. As such without USE="test", it gives the listed complaint.
Thanks, I think I'll just sed that out... Done, pushed to the tree