Comments (15)
It's not an issue with the pip versions, since this was able to build fine https://travis-ci.org/zopefoundation/BTrees/jobs/414571376 with pip 18.0.
Maybe a change in travis?
from btrees.
I can't reproduce a problem locally on macOS, either from the sdist or a source checkout using the same command travis uses.
from btrees.
Here's the not very informative traceback:
Running setup.py develop for BTrees
Complete output from command /Users/travis/build/zopefoundation/BTrees/venv/bin/python3.7 -c "import setuptools, tokenize;__file__='/Users/travis/build/zopefoundation/BTrees/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps:
running develop
running egg_info
writing BTrees.egg-info/PKG-INFO
writing dependency_links to BTrees.egg-info/dependency_links.txt
writing entry points to BTrees.egg-info/entry_points.txt
writing requirements to BTrees.egg-info/requires.txt
writing top-level names to BTrees.egg-info/top_level.txt
reading manifest file 'BTrees.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.dll' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*#' found anywhere in distribution
warning: no previously-included files matching 'coverage.xml' found anywhere in distribution
no previously-included directories found matching 'docs/_build'
writing manifest file 'BTrees.egg-info/SOURCES.txt'
running build_ext
building 'BTrees._OOBTree' extension
----------------------------------------
Command "/Users/travis/build/zopefoundation/BTrees/venv/bin/python3.7 -c "import setuptools, tokenize;__file__='/Users/travis/build/zopefoundation/BTrees/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps" failed with error code -4 in /Users/travis/build/zopefoundation/BTrees/
from btrees.
Hrmm.. I'm pretty stumped. Any ideas about what else to look into this?
from btrees.
Hmm. My next step would probably be to add '-v' to the pip install command in a branch and kick off a build in hopes of finding something useful in the output, or at least something I can compare to what I get locally.
My only theory right now is that the compiler is crashing. I think with '-v' we get the compiler commands output.
from btrees.
Running setup.py develop for BTrees
Running command /Users/travis/build/zopefoundation/BTrees/venv/bin/python3.7 -c "import setuptools, tokenize;__file__='/Users/travis/build/zopefoundation/BTrees/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps
running develop
running egg_info
writing BTrees.egg-info/PKG-INFO
writing dependency_links to BTrees.egg-info/dependency_links.txt
writing entry points to BTrees.egg-info/entry_points.txt
writing requirements to BTrees.egg-info/requires.txt
writing top-level names to BTrees.egg-info/top_level.txt
reading manifest file 'BTrees.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.dll' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*#' found anywhere in distribution
warning: no previously-included files matching 'coverage.xml' found anywhere in distribution
no previously-included directories found matching 'docs/_build'
writing manifest file 'BTrees.egg-info/SOURCES.txt'
running build_ext
building 'BTrees._OOBTree' extension
Cleaning up...
Removed build tracker '/private/var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/pip-req-tracker-vy4r0abc'
Command "/Users/travis/build/zopefoundation/BTrees/venv/bin/python3.7 -c "import setuptools, tokenize;__file__='/Users/travis/build/zopefoundation/BTrees/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps" failed with error code -4 in /Users/travis/build/zopefoundation/BTrees/
Exception information:
Traceback (most recent call last):
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/basecommand.py", line 141, in main
status = self.run(options, args)
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 347, in run
use_user_site=options.use_user_site,
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/req/__init__.py", line 49, in install_given_reqs
**kwargs
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 931, in install
install_options, global_options, prefix=prefix,
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 809, in install_editable
show_stdout=False,
File "/Users/travis/build/zopefoundation/BTrees/venv/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 701, in call_subprocess
% (command_desc, proc.returncode, cwd))
pip._internal.exceptions.InstallationError: Command "/Users/travis/build/zopefoundation/BTrees/venv/bin/python3.7 -c "import setuptools, tokenize;__file__='/Users/travis/build/zopefoundation/BTrees/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps" failed with error code -4 in /Users/travis/build/zopefoundation/BTrees/
I'll try python setup.py build_ext
next
from btrees.
Didn't learn anything from running build_ext.
Next step might be to try to shell into the travis build through debug mode? https://docs.travis-ci.com/user/running-build-in-debug-mode/#enabling-debug-mode
https://docs.travis-ci.com/user/running-build-in-debug-mode/#enabling-debug-mode
from btrees.
Error code -4, does that mean "killed by signal 4 (SIGILL)"? SIGILL is what, illegal instruction? Very interesting.
from btrees.
Wait, this is on Mac OS X? Are signal numbers the same on OS X? Do negative error codes mean signals?
from btrees.
Yup, this is macOS. Yes, SIGILL is signal number 4. No, negative error codes do not mean signals. If I kill a process with SIGILL on my macOS machine, the exit value appears to be 132.
EDIT: 132 is 4 with the high-bit set: 0b10000100
from btrees.
Hmm, I just got a (similar?) error with a traceback installing BTrees in a PyPy environment:
running build_ext
building 'BTrees._OOBTree' extension
Traceback (most recent call last):
File "<module>", line 1, in <module>
File "/tmp/pip-install-yczItz/BTrees/setup.py", line 194, in <module>
entry_points="""\
File "/tmp/pip-build-env-nOqPB1/site-packages/setuptools/__init__.py", line 140, in setup
return distutils.core.setup(**attrs)
...
File "/opt/python/pypy2.7-5.8.0/lib-python/2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/tmp/pip-install-yczItz/BTrees/setup.py", line 45, in run
build_ext.run(self)
File "/tmp/pip-build-env-nOqPB1/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
...
File "/tmp/pip-install-yczItz/BTrees/setup.py", line 51, in build_extension
build_ext.build_extension(self, ext)
...
File "/tmp/pip-install-yczItz/BTrees/setup.py", line 88, in __str__
path = resource_filename(self._require_spec, self._where)
File "/tmp/pip-build-env-nOqPB1/site-packages/pkg_resources/__init__.py", line 1139, in resource_filename
return get_provider(package_or_requirement).get_resource_filename(
File "/tmp/pip-build-env-nOqPB1/site-packages/pkg_resources/__init__.py", line 356, in get_provider
__import__(moduleOrReq)
File "/tmp/pip-build-env-nOqPB1/site-packages/persistent/__init__.py", line 32, in <module>
from persistent.interfaces import IPersistent
File "/tmp/pip-build-env-nOqPB1/site-packages/persistent/interfaces.py", line 17, in <module>
from zope.interface import Interface
ImportError: No module named zope
Perhaps we should install persistent or zope.interface in a separate step before attempting to build the wheel?
from btrees.
The 128+signal_number thing is a bash convention.
Here AFAICS pip is printing the returncode
attribute from the subprocess
module, where
A negative value -N indicates that the child was terminated by signal N (POSIX only).
from btrees.
The 128+signal_number thing is a bash convention.
TIL.
So given that it's failing at the same step, it seems like that it's failing with an import of persistent
.
There are two wheel files for persistent on Python 3.7, one for 'macosx_10_6_intel' and one for 'macos_10_13_x86_64'. According to the log, the build is picking up persistent-4.4.2-cp37-cp37m-macosx_10_13_x86_64.whl
.
I'm pretty sure that was uploaded from my machine when I did the release. It was probably compiled with optimizations that the Travis processors don't support (more than 3 years old). I've seen similar failures on some of my colleagues older laptops in one of my own projects, to the point that I added zest.releaser hooks to strip out problematic CFLAGS during a 'fullrelease'.
The solution is just to drop the problematic wheel (which shouldn't be a regression since there's a generic 3.7 intel wheel available). Sorry for the problem everyone.
from btrees.
I deleted the troublesome wheel and the original BTrees build is progressing. It's not green, probably because of the changes in persistent reprs, though.
from btrees.
Yeah, the tests are broken with the C extensions of persistent but pass with the pure-python version.
I knew they were different (it's a common issue with C accelerators) but I didn't expect it to be a problem. Since it is, this could either be considered a bug in persistent or too-specific tests here. I lean towards persistent bug, myself.
EDIT: There's a python-dev thread this month about this.
from btrees.
Related Issues (20)
- Release 4.7.3 HOT 2
- Pylance has problem resolving imports HOT 5
- Add support to release aarch64 wheels HOT 2
- Python 2: OxBTrees allow types as keys; Python 3 does not
- Can we move to the src/ layout? HOT 3
- Support PURE_PYTHON=0 to require C extensions
- BTree.get() swallows POSKeyError on internal corruption (C only) HOT 2
- Python/C Inconsistency: Detecting classes that just implement `__eq__`
- Python/C Inconsistency: Getting/Setting max_internal_size on the BTree class
- Regression in 4.9: Subclasses can't use @adapter
- fsBTree and fsTreeSet broken in 4.9.0/4.9.1
- fsBTree.difference fails when the second argument is a set HOT 2
- Zope5.2.1 install warnings HOT 3
- Convert to meta/config HOT 2
- Consider using cibuldwheel for building binary wheels. HOT 1
- 4.10.0: sphinx warnings `reference target not found` HOT 3
- 4.10.0: pytest is failing in some units HOT 6
- btrees not installing on m1 computer HOT 2
- Get a random element from a BTree HOT 2
- 'IFBucket' object has no attribute 'byValue' when running with PURE_PYTHON HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from btrees.