Giter VIP home page Giter VIP logo

Comments (15)

fgregg avatar fgregg commented on July 1, 2024

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.

jamadden avatar jamadden commented on July 1, 2024

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.

fgregg avatar fgregg commented on July 1, 2024

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.

fgregg avatar fgregg commented on July 1, 2024

Hrmm.. I'm pretty stumped. Any ideas about what else to look into this?

from btrees.

jamadden avatar jamadden commented on July 1, 2024

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.

fgregg avatar fgregg commented on July 1, 2024

From https://travis-ci.org/zopefoundation/BTrees/builds/427751231?utm_source=github_status&utm_medium=notification

  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.

fgregg avatar fgregg commented on July 1, 2024

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.

mgedmin avatar mgedmin commented on July 1, 2024

Error code -4, does that mean "killed by signal 4 (SIGILL)"? SIGILL is what, illegal instruction? Very interesting.

from btrees.

mgedmin avatar mgedmin commented on July 1, 2024

Wait, this is on Mac OS X? Are signal numbers the same on OS X? Do negative error codes mean signals?

from btrees.

jamadden avatar jamadden commented on July 1, 2024

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.

jamadden avatar jamadden commented on July 1, 2024

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.

mgedmin avatar mgedmin commented on July 1, 2024

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.

jamadden avatar jamadden commented on July 1, 2024

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.

jamadden avatar jamadden commented on July 1, 2024

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.

jamadden avatar jamadden commented on July 1, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.