Summary: | dev-python/cryptography: sandbox violation: pycparser/__pycache__/c_ast.cpython-37.pyc | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Deutschmann (RETIRED) <whissi> |
Component: | Current packages | Assignee: | Python Gentoo Team <python> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=609666 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Thomas Deutschmann (RETIRED)
2018-11-26 11:43:43 UTC
I can reproduce with all dev-python/cryptography ebuilds in repository. When you unmerge dev-python/pycparser-2.19, `emerge -a1 dev-python/cryptography` will fail with Would you like to merge these packages? [Yes/No] y >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-python/cryptography-2.3.1::gentoo * cryptography-2.3.1.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking cryptography-2.3.1.tar.gz to /var/tmp/portage/dev-python/cryptography-2.3.1/work >>> Source unpacked in /var/tmp/portage/dev-python/cryptography-2.3.1/work >>> Preparing source in /var/tmp/portage/dev-python/cryptography-2.3.1/work/cryptography-2.3.1 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-python/cryptography-2.3.1/work/cryptography-2.3.1 ... * python3_7: running distutils-r1_run_phase python_configure_all >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-python/cryptography-2.3.1/work/cryptography-2.3.1 ... * python2_7: running distutils-r1_run_phase distutils-r1_python_compile python2.7 setup.py build warning: no previously-included files found matching 'setup.pyc' warning: no previously-included files matching 'yacctab.*' found under directory 'tests' warning: no previously-included files matching 'lextab.*' found under directory 'tests' warning: no previously-included files matching 'yacctab.*' found under directory 'examples' warning: no previously-included files matching 'lextab.*' found under directory 'examples' Traceback (most recent call last): File "setup.py", line 318, in <module> **keywords_with_side_effects(sys.argv) File "/usr/lib64/python2.7/site-packages/setuptools/__init__.py", line 142, in setup _install_setup_requires(attrs) File "/usr/lib64/python2.7/site-packages/setuptools/__init__.py", line 137, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "/usr/lib64/python2.7/site-packages/setuptools/dist.py", line 586, in fetch_build_eggs replace_conflicting=True, File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 780, in resolve replace_conflicting=replace_conflicting File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 1063, in best_match return self.obtain(req, installer) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 1075, in obtain return installer(requirement) File "/usr/lib64/python2.7/site-packages/setuptools/dist.py", line 653, in fetch_build_egg return cmd.easy_install(req) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 679, 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 705, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib64/python2.7/site-packages/setuptools/command/easy_install.py", line 890, 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 1158, 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 1146, 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/cr yptography-2.3.1/work/cryptography-2.3.1-python2_7/lib/pycparser', 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. * ERROR: dev-python/cryptography-2.3.1::gentoo failed (compile phase): * (no error message) This is just a guess at this point, but it seems like it's a missing dep for python packages utilizing c like this. I already had dev-python/pycparser installed (along with cryptography). I installed =dev-python/pycparser-2.19 and =dev-python/cffi-1.11.5 then clean merged =dev-python/cryptography-2.3.1 without error. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76e7a21981368a77cbcdb198a91d63baebc1760e commit 76e7a21981368a77cbcdb198a91d63baebc1760e Author: Matthew Thode <prometheanfire@gentoo.org> AuthorDate: 2018-11-26 15:10:44 +0000 Commit: Matthew Thode <prometheanfire@gentoo.org> CommitDate: 2018-11-26 15:11:01 +0000 dev-python/cryptography: add missing pycparser dep Fixes: https://bugs.gentoo.org/671948 Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Matthew Thode <prometheanfire@gentoo.org> dev-python/cryptography/cryptography-2.2.2-r1.ebuild | 3 ++- dev-python/cryptography/cryptography-2.3.1.ebuild | 1 + dev-python/cryptography/cryptography-2.3.ebuild | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d3277a5199c609627f126311021435b87f5f640 commit 9d3277a5199c609627f126311021435b87f5f640 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2018-11-26 15:55:25 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2018-11-26 15:56:17 +0000 Revert "dev-python/cryptography: add missing pycparser dep" This reverts commit 76e7a21981368a77cbcdb198a91d63baebc1760e. cryptography does not depend on pycparser directly. Bug: https://bugs.gentoo.org/671948 Signed-off-by: Mike Gilbert <floppym@gentoo.org> dev-python/cryptography/cryptography-2.2.2-r1.ebuild | 3 +-- dev-python/cryptography/cryptography-2.3.1.ebuild | 1 - dev-python/cryptography/cryptography-2.3.ebuild | 3 +-- 3 files changed, 2 insertions(+), 5 deletions(-) Whissi: Could you attach a build log for pycparser? I want to verify if the c_ast module is getting compiled correctly. Hmm, looks like I can reproduce this locally. It only happens for python3.7. distutils-r1_python_install() has this: # python likes to compile any module it sees, which triggers sandbox # failures if some packages haven't compiled their modules yet. addpredict "${EPREFIX}/usr/$(get_libdir)/${EPYTHON}" addpredict /usr/lib/portage/pym addpredict /usr/local # bug 498232 python3.7 gets installed in /usr/lib/${EPYTHON} instead of /usr/$(get_libdir)/${EPYTHON}, so the addpredict is ineffective. However, that addpredict is really just a workaround for buggy software; it would be good to investigate why python is trying to re-compile the c_ast module. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47f35700de86b896c91a5431870dd7b798187f5f commit 47f35700de86b896c91a5431870dd7b798187f5f Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2018-11-26 16:14:36 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2018-11-26 16:14:36 +0000 distutils-r1.eclass: addpredict /usr/lib/${EPYTHON} This works around sandbox failures with python3.7, which moved from /usr/$(get_libdir) to /usr/lib. Bug: https://bugs.gentoo.org/671948 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/distutils-r1.eclass | 1 + 1 file changed, 1 insertion(+) |