Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changes on cython master broke the pandas build #3548

Closed
tacaswell opened this issue Apr 24, 2020 · 7 comments
Closed

changes on cython master broke the pandas build #3548

tacaswell opened this issue Apr 24, 2020 · 7 comments
Labels
Milestone

Comments

@tacaswell
Copy link
Contributor

With current cython master pandas does not build. Bisecting identifies the current latest commit (
5204d86 ) as the first bad commit.

attn @WillAyd

(bleeding) ✔  ~/source/other_source/pandas [master {pandas/master}|✚ 2]
jupiter@15:19  ➤  pip install -v .
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-ephem-wheel-cache-zcmyaxf3
Created temporary directory: /tmp/pip-req-tracker-dfm6xgbp
Initialized build tracking at /tmp/pip-req-tracker-dfm6xgbp
Created build tracker: /tmp/pip-req-tracker-dfm6xgbp
Entered build tracker: /tmp/pip-req-tracker-dfm6xgbp
Created temporary directory: /tmp/pip-install-_tjupc3v
Processing /home/tcaswell/source/other_source/pandas
  Created temporary directory: /tmp/pip-req-build-eh2hlgu3
  Added file:///home/tcaswell/source/other_source/pandas to build tracker '/tmp/pip-req-tracker-dfm6xgbp'
    Running setup.py (path:/tmp/pip-req-build-eh2hlgu3/setup.py) egg_info for package from file:///home/tcaswell/source/other_source/pandas
    Running command python setup.py egg_info
    warning: pandas/_libs/groupby.pyx:1101:26: Unreachable code

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef Py_ssize_t itemsize
        cdef bint dtype_signed
        cdef char kind
        itemsize = -1
        cdef bint ___pyx_int64_t_is_signed
        ___pyx_int64_t_is_signed = not (<___pyx_int64_t> -1 > 0)
                                        ^
    ------------------------------------------------------------

    (tree fragment):19:37: '___pyx_int64_t' is not a type identifier

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef char kind
        itemsize = -1
        cdef bint ___pyx_int64_t_is_signed
        ___pyx_int64_t_is_signed = not (<___pyx_int64_t> -1 > 0)
        cdef bint ___pyx_uint64_t_is_signed
        ___pyx_uint64_t_is_signed = not (<___pyx_uint64_t> -1 > 0)
                                         ^
    ------------------------------------------------------------

    (tree fragment):21:38: '___pyx_uint64_t' is not a type identifier

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_int64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_int64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        ctypedef struct __Pyx_memviewslice:
            void *memview

        void __PYX_XDEC_MEMVIEW(__Pyx_memviewslice *, int have_gil)
        bint __pyx_memoryview_check(object)
        ctypedef long long ___pyx_int64_t "__pyx_t_5numpy_int64_t"
       ^
    ------------------------------------------------------------

    __pyxutil:15:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_uint64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_uint64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...

        void __PYX_XDEC_MEMVIEW(__Pyx_memviewslice *, int have_gil)
        bint __pyx_memoryview_check(object)
        ctypedef long long ___pyx_int64_t "__pyx_t_5numpy_int64_t"
        ctypedef double ___pyx_float64_t "__pyx_t_5numpy_float64_t"
        ctypedef unsigned long long ___pyx_uint64_t "__pyx_t_5numpy_uint64_t"
       ^
    ------------------------------------------------------------

    __pyxutil:17:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_float64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_float64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            void *memview

        void __PYX_XDEC_MEMVIEW(__Pyx_memviewslice *, int have_gil)
        bint __pyx_memoryview_check(object)
        ctypedef long long ___pyx_int64_t "__pyx_t_5numpy_int64_t"
        ctypedef double ___pyx_float64_t "__pyx_t_5numpy_float64_t"
       ^
    ------------------------------------------------------------

    __pyxutil:16:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_int64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_int64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_float64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_float64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: undeclared name not builtin: ___pyx_uint64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: '___pyx_uint64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef Py_ssize_t itemsize
        cdef bint dtype_signed
        cdef char kind
        itemsize = -1
        cdef bint ___pyx_int64_t_is_signed
        ___pyx_int64_t_is_signed = not (<___pyx_int64_t> -1 > 0)
                                        ^
    ------------------------------------------------------------

    (tree fragment):19:37: '___pyx_int64_t' is not a type identifier

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef char kind
        itemsize = -1
        cdef bint ___pyx_int64_t_is_signed
        ___pyx_int64_t_is_signed = not (<___pyx_int64_t> -1 > 0)
        cdef bint ___pyx_uint64_t_is_signed
        ___pyx_uint64_t_is_signed = not (<___pyx_uint64_t> -1 > 0)
                                         ^
    ------------------------------------------------------------

    (tree fragment):21:38: '___pyx_uint64_t' is not a type identifier

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_int64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_int64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_uint64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_uint64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_float64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_float64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            values = [self.right, self.left]

            sort_order = np.lexsort(values)
            return is_monotonic(sort_order, False)[0]

        def get_indexer(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:122:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_int64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_int64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_float64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_float64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: undeclared name not builtin: ___pyx_uint64_t

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: '___pyx_uint64_t' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise KeyError(
                        'indexer does not intersect a unique set of intervals')
                old_len = result.data.n
            return result.to_array().astype('intp')

        def get_indexer_non_unique(self, scalar_t[:] target):
       ^
    ------------------------------------------------------------

    pandas/_libs/intervaltree.pxi:150:4: Previous declaration is here
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-eh2hlgu3/setup.py", line 794, in <module>
        setup_package()
      File "/tmp/pip-req-build-eh2hlgu3/setup.py", line 764, in setup_package
        ext_modules=maybe_cythonize(extensions, compiler_directives=directives),
      File "/tmp/pip-req-build-eh2hlgu3/setup.py", line 537, in maybe_cythonize
        return cythonize(extensions, *args, **kwargs)
      File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1105, in cythonize
        cythonize_one(*args)
      File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1263, in cythonize_one
        raise CompileError(None, pyx_file)
    Cython.Compiler.Errors.CompileError: pandas/_libs/interval.pyx
    Compiling pandas/_libs/algos.pyx because it changed.
    Compiling pandas/_libs/groupby.pyx because it changed.
    Compiling pandas/_libs/hashing.pyx because it changed.
    Compiling pandas/_libs/hashtable.pyx because it changed.
    Compiling pandas/_libs/index.pyx because it changed.
    Compiling pandas/_libs/indexing.pyx because it changed.
    Compiling pandas/_libs/internals.pyx because it changed.
    Compiling pandas/_libs/interval.pyx because it changed.
    Compiling pandas/_libs/join.pyx because it changed.
    Compiling pandas/_libs/lib.pyx because it changed.
    Compiling pandas/_libs/missing.pyx because it changed.
    Compiling pandas/_libs/parsers.pyx because it changed.
    Compiling pandas/_libs/reduction.pyx because it changed.
    Compiling pandas/_libs/ops.pyx because it changed.
    Compiling pandas/_libs/ops_dispatch.pyx because it changed.
    Compiling pandas/_libs/properties.pyx because it changed.
    Compiling pandas/_libs/reshape.pyx because it changed.
    Compiling pandas/_libs/sparse.pyx because it changed.
    Compiling pandas/_libs/tslib.pyx because it changed.
    Compiling pandas/_libs/tslibs/c_timestamp.pyx because it changed.
    Compiling pandas/_libs/tslibs/ccalendar.pyx because it changed.
    Compiling pandas/_libs/tslibs/conversion.pyx because it changed.
    Compiling pandas/_libs/tslibs/fields.pyx because it changed.
    Compiling pandas/_libs/tslibs/frequencies.pyx because it changed.
    Compiling pandas/_libs/tslibs/nattype.pyx because it changed.
    Compiling pandas/_libs/tslibs/np_datetime.pyx because it changed.
    Compiling pandas/_libs/tslibs/offsets.pyx because it changed.
    Compiling pandas/_libs/tslibs/parsing.pyx because it changed.
    Compiling pandas/_libs/tslibs/period.pyx because it changed.
    Compiling pandas/_libs/tslibs/resolution.pyx because it changed.
    Compiling pandas/_libs/tslibs/strptime.pyx because it changed.
    Compiling pandas/_libs/tslibs/timedeltas.pyx because it changed.
    Compiling pandas/_libs/tslibs/timestamps.pyx because it changed.
    Compiling pandas/_libs/tslibs/timezones.pyx because it changed.
    Compiling pandas/_libs/tslibs/tzconversion.pyx because it changed.
    Compiling pandas/_libs/testing.pyx because it changed.
    Compiling pandas/_libs/window/aggregations.pyx because it changed.
    Compiling pandas/_libs/window/indexers.pyx because it changed.
    Compiling pandas/_libs/writers.pyx because it changed.
    Compiling pandas/io/sas/sas.pyx because it changed.
    [ 1/40] Cythonizing pandas/_libs/algos.pyx
    [ 2/40] Cythonizing pandas/_libs/groupby.pyx
    [ 3/40] Cythonizing pandas/_libs/hashing.pyx
    [ 4/40] Cythonizing pandas/_libs/hashtable.pyx
    [ 5/40] Cythonizing pandas/_libs/index.pyx
    [ 6/40] Cythonizing pandas/_libs/indexing.pyx
    [ 7/40] Cythonizing pandas/_libs/internals.pyx
    [ 8/40] Cythonizing pandas/_libs/interval.pyx
Cleaning up...
  Removing source in /tmp/pip-req-build-eh2hlgu3
Removed file:///home/tcaswell/source/other_source/pandas from build tracker '/tmp/pip-req-tracker-dfm6xgbp'
Removed build tracker: '/tmp/pip-req-tracker-dfm6xgbp'
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Exception information:
Traceback (most recent call last):
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 186, in _main
    status = self.run(options, args)
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 331, in run
    resolver.resolve(requirement_set)
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/legacy_resolve.py", line 177, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/legacy_resolve.py", line 333, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/legacy_resolve.py", line 282, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 515, in prepare_linked_requirement
    abstract_dist = _get_prepared_distribution(
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 95, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 40, in prepare_distribution_metadata
    self.req.prepare_metadata()
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/req/req_install.py", line 564, in prepare_metadata
    self.metadata_directory = self._generate_metadata()
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/req/req_install.py", line 538, in _generate_metadata
    return generate_metadata_legacy(
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py", line 115, in generate_metadata
    call_subprocess(
  File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py", line 242, in call_subprocess
    raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
@da-woods
Copy link
Contributor

da-woods commented Apr 24, 2020

Most of it is probably related to #3544 and fixed by #3546. If it's possible to report whether the fix works that'd be nice.

Quick summary is: double underscore names were changed so they followed Python rules and get mangled within a class. This looks like a bad idea in hindsight since (a) a lot of C names start with double underscores and (b) a lot of people have liked to use double underscores in their code.


I'm slightly surprised at where the your bisection points to, so it's possible that I've misidentified the error.

@tacaswell
Copy link
Contributor Author

@da-woods It builds with your branch, but it does not contain what I think is the offending commit. If I cherry-pick the tip of master to your branch it also works.

scoder added a commit that referenced this issue Apr 26, 2020
@scoder
Copy link
Contributor

scoder commented Apr 26, 2020

Thanks for the report. Don't really know why it breaks (seems to be related to memory views), but it's not an important commit, so I just reverted it.

@scoder scoder closed this as completed Apr 26, 2020
@tacaswell
Copy link
Contributor Author

Reverting that commit does not fix the problem. I'm re-running the bisection, hopefully I didn't make a mistake the first time....

@tacaswell
Copy link
Contributor Author

Sorry, I screwed up. I re-ran the bisect and got

git bisect start
# good: [f18e3c9f9ce35ebf2cf2713775f35c47351e9c15] Make "cimport numpy" without import_array() safer by automatically calling it (GH-3524)
git bisect good f18e3c9f9ce35ebf2cf2713775f35c47351e9c15
# bad: [203ec86c39165c4001aa9238268f1911db1e8728] Update and split changelog for 3.0a2.
git bisect bad 203ec86c39165c4001aa9238268f1911db1e8728
# good: [090809daa9f8332fc5f68c498508383bd2f8d5d6] Disable the PEP-487 test in PyPy because it fails in travis (PyPy 7.1.1).
git bisect good 090809daa9f8332fc5f68c498508383bd2f8d5d6
# good: [0917df8f32515daa0c67d0caf2104462aebd36ae] Guard helper function against missing usage when direct type slot access is disabled.
git bisect good 0917df8f32515daa0c67d0caf2104462aebd36ae
# good: [3de7a4b8fb7ce045222e13ca02541f6a70e89c2e] Tune some internal calls into fastcall/vectorcall (GH-3540)
git bisect good 3de7a4b8fb7ce045222e13ca02541f6a70e89c2e
# bad: [b709334b7af7cbafa017a8f27dc9bbeafda5af94] Remove unused import.
git bisect bad b709334b7af7cbafa017a8f27dc9bbeafda5af94
# bad: [abeb082098c13e243a2e2658f9eb45f1c151b091] Mangle __arg argument names in methods (GH-3123)
git bisect bad abeb082098c13e243a2e2658f9eb45f1c151b091
# first bad commit: [abeb082098c13e243a2e2658f9eb45f1c151b091] Mangle __arg argument names in methods (GH-3123)

which makes a lot more sense and points to @da-woods 's PR #3546 actually being the fix.

@scoder
Copy link
Contributor

scoder commented Apr 27, 2020

Ok, thanks for the update. I put the commit back in that I had reverted and will merge #3546 then.

@scoder scoder added this to the 3.0 milestone Apr 27, 2020
@scoder scoder added the defect label Apr 27, 2020
scoder pushed a commit that referenced this issue Apr 27, 2020
Allow C functions/variables with names starting with "__" to be found
from within classes, even though their names would normally be
inaccessible due to the Python "class private names" mechanism.
#3544

Warn about unmangled Python names that are being found and used, since they do not adhere to Python lookup rules.

Removed `mangle_special_name` in favour of `mangle_class_private_name`,
which previously applied slightly different rules for creating vs looking up variables.

Closes #3548.
@tacaswell
Copy link
Contributor Author

tacaswell commented Apr 27, 2020

happy to report the master branches are building together again :)

Thank you for you quick response and sorry again for the incorrect initial assessment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants