KWANT installation failure

Hi, I've tried several methods to mitigate this, but am unable to determine the root cause. pip install kwant fails on a new install of ubuntu. I have an ARM cpu which I believe should be compatible, however, I always get the following error. Thanks for any help! Collecting kwant Using cached kwant-1.5.0.tar.gz (1.7 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: numpy>=1.18.0 in ./miniconda3/lib/python3.12/site-packages (from kwant) (2.1.2) Collecting scipy!=1.6.1,>=1.3.0 (from kwant) Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB) Collecting tinyarray>=1.2.2 (from kwant) Using cached tinyarray-1.2.4-cp312-cp312-linux_x86_64.whl Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.8 MB) Building wheels for collected packages: kwant Building wheel for kwant (setup.py) ... error *error*: *subprocess-exited-with-error* × python setup.py bdist_wheel did not run successfully. │ exit code: *1* ╰─> [130 lines of output] running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-312 creating build/lib.linux-x86_64-cpython-312/kwant copying kwant/qsymm.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_colormaps.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_plotter.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/rmt.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/digest.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_common.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/wraparound.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/version.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/kpm.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/lattice.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/system.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_kwant_version.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/plotter.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/builder.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant creating build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/cmumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/fortran_helpers.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/decomp_schur.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/lll.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg creating build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.py -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/graph creating build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/symmetry.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/leads.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/dispersion.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/noise.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/gauge.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/physics creating build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/common.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/default.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/sparse.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers creating build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_operator.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_plotter.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_system.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_lattice.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_wraparound.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_qsymm.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_rmt.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_kpm.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_comprehensive.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_builder.py -> build/lib.linux-x86_64-cpython-312/kwant/tests creating build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/discretizer.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/landau_levels.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/_common.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum creating build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_lll.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/_test_utils.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_linalg.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests creating build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/test_scotch.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/test_core.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests creating build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_leads.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_gauge.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_noise.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_dispersion.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_symmetry.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests creating build/lib.linux-x86_64-cpython-312/kwant/solvers/tests copying kwant/solvers/tests/test_solvers.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers/tests copying kwant/solvers/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers/tests creating build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_discretizer.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_common.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_landau_levels.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/operator.pxd -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/linalg/cmumps.pxd -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/graph/core.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/c_scotch.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.h -> build/lib.linux-x86_64-cpython-312/kwant/graph running build_ext building 'kwant._system' extension creating build/temp.linux-x86_64-cpython-312 creating build/temp.linux-x86_64-cpython-312/kwant gcc -pthread -B /home/gavin-nop/miniconda3/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/gavin-nop/miniconda3/include -fPIC -O2 -isystem /home/gavin-nop/miniconda3/include -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Ikwant/graph -I/home/gavin-nop/miniconda3/lib/python3.12/site-packages/numpy/_core/include -I/home/gavin-nop/miniconda3/include/python3.12 -c kwant/_system.c -o build/temp.linux-x86_64-cpython-312/kwant/_system.o In file included from /home/gavin-nop/miniconda3/include/python3.12/Python.h:38, from kwant/_system.c:47: kwant/_system.c: In function ‘__pyx_f_5numpy_PyDataType_SHAPE’: kwant/_system.c:20006:39: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’ 20006 | __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); | ^~ /home/gavin-nop/miniconda3/include/python3.12/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’ 24 | #define _Py_CAST(type, expr) ((type)(expr)) | ^~~~ /home/gavin-nop/miniconda3/include/python3.12/object.h:661:35: note: in expansion of macro ‘_PyObject_CAST’ 661 | # define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op)) | ^~~~~~~~~~~~~~ kwant/_system.c:2356:27: note: in expansion of macro ‘Py_INCREF’ 2356 | #define __Pyx_INCREF(r) Py_INCREF(r) | ^~~~~~~~~ kwant/_system.c:20006:5: note: in expansion of macro ‘__Pyx_INCREF’ 20006 | __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); | ^~~~~~~~~~~~ kwant/_system.c:20007:36: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’ 20007 | __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); | ^~ ************************************ Error ************************************ The compilation of Kwant has failed. Please examine the error message above and consult the installation instructions in README.rst. You might have to customize build.conf. Build configuration was: ['No MUMPS support'] ******************************************************************************* error: command '/usr/bin/gcc' failed with exit code 1 [end of output] *note*: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for kwant Running setup.py clean for kwant Failed to build kwantERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (kwant)

Hi Gavin, Thanks for reporting this problem. I can reproduce it in an empy venv on my amd64 machine. The problem seems related to the latest NumPy version 2 which introduces breaking changes. If you can live without NumPy 2, please try out the following: pip uninstall numpy pip install ’numpy<2’ pip install kwant The above works for me in the same venv that otherwise produces the same error that you see. Please let us know if this workaround works for you as well. (Obviously a proper solution is needed. I’ll have a look into this.) Cheers Christoph

Dear Kwant friend, Recently, I have faced the same failure. I am trying afresh. Thanks. From: Gavin Nop via Kwant-discuss <kwant-discuss@python.org> Sent: Wed, 16 Oct 2024 19:06:00 To: kwant-discuss@python.org Subject: [Kwant] KWANT installation failure Hi, I've tried several methods to mitigate this, but am unable to determine the root cause. pip install kwant fails on a new install of ubuntu. I have an ARM cpu which I believe should be compatible, however, I always get the following error. Thanks for any help! Collecting kwant Using cached kwant-1.5.0.tar.gz (1.7 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: numpy>=1.18.0 in ./miniconda3/lib/python3.12/site-packages (from kwant) (2.1.2) Collecting scipy!=1.6.1,>=1.3.0 (from kwant) Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB) Collecting tinyarray>=1.2.2 (from kwant) Using cached tinyarray-1.2.4-cp312-cp312-linux_x86_64.whl Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.8 MB) Building wheels for collected packages: kwant Building wheel for kwant (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [130 lines of output] running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-312 creating build/lib.linux-x86_64-cpython-312/kwant copying kwant/qsymm.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_colormaps.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_plotter.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/rmt.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/digest.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_common.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/wraparound.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/version.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/kpm.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/lattice.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/system.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/_kwant_version.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/plotter.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/builder.py -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant creating build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/cmumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/fortran_helpers.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/decomp_schur.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/lll.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/linalg/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg creating build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.py -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/graph creating build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/symmetry.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/leads.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/dispersion.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/noise.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/gauge.py -> build/lib.linux-x86_64-cpython-312/kwant/physics copying kwant/physics/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/physics creating build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/common.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/default.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/sparse.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers copying kwant/solvers/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers creating build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_operator.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_plotter.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_system.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_lattice.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_wraparound.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_qsymm.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_rmt.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_kpm.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_comprehensive.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/tests copying kwant/tests/test_builder.py -> build/lib.linux-x86_64-cpython-312/kwant/tests creating build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/discretizer.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/landau_levels.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/_common.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum copying kwant/continuum/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum creating build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_lll.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/_test_utils.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_linalg.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/test_mumps.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests copying kwant/linalg/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/linalg/tests creating build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/test_scotch.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/test_core.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests copying kwant/graph/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/graph/tests creating build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_leads.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_gauge.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_noise.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_dispersion.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests copying kwant/physics/tests/test_symmetry.py -> build/lib.linux-x86_64-cpython-312/kwant/physics/tests creating build/lib.linux-x86_64-cpython-312/kwant/solvers/tests copying kwant/solvers/tests/test_solvers.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers/tests copying kwant/solvers/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/solvers/tests creating build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_discretizer.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_common.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/test_landau_levels.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/continuum/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/kwant/continuum/tests copying kwant/operator.pxd -> build/lib.linux-x86_64-cpython-312/kwant copying kwant/linalg/cmumps.pxd -> build/lib.linux-x86_64-cpython-312/kwant/linalg copying kwant/graph/core.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/c_scotch.pxd -> build/lib.linux-x86_64-cpython-312/kwant/graph copying kwant/graph/defs.h -> build/lib.linux-x86_64-cpython-312/kwant/graph running build_ext building 'kwant._system' extension creating build/temp.linux-x86_64-cpython-312 creating build/temp.linux-x86_64-cpython-312/kwant gcc -pthread -B /home/gavin-nop/miniconda3/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/gavin-nop/miniconda3/include -fPIC -O2 -isystem /home/gavin-nop/miniconda3/include -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Ikwant/graph -I/home/gavin-nop/miniconda3/lib/python3.12/site-packages/numpy/_core/include -I/home/gavin-nop/miniconda3/include/python3.12 -c kwant/_system.c -o build/temp.linux-x86_64-cpython-312/kwant/_system.o In file included from /home/gavin-nop/miniconda3/include/python3.12/Python.h:38, from kwant/_system.c:47: kwant/_system.c: In function ‘__pyx_f_5numpy_PyDataType_SHAPE’: kwant/_system.c:20006:39: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’ 20006 | __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); | ^~ /home/gavin-nop/miniconda3/include/python3.12/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’ 24 | #define _Py_CAST(type, expr) ((type)(expr)) | ^~~~ /home/gavin-nop/miniconda3/include/python3.12/object.h:661:35: note: in expansion of macro ‘_PyObject_CAST’ 661 | # define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op)) | ^~~~~~~~~~~~~~ kwant/_system.c:2356:27: note: in expansion of macro ‘Py_INCREF’ 2356 | #define __Pyx_INCREF(r) Py_INCREF(r) | ^~~~~~~~~ kwant/_system.c:20006:5: note: in expansion of macro ‘__Pyx_INCREF’ 20006 | __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); | ^~~~~~~~~~~~ kwant/_system.c:20007:36: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’ 20007 | __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); | ^~ ************************************ Error ************************************ The compilation of Kwant has failed. Please examine the error message above and consult the installation instructions in README.rst. You might have to customize build.conf. Build configuration was: ['No MUMPS support'] ******************************************************************************* error: command '/usr/bin/gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for kwant Running setup.py clean for kwant Failed to build kwant ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (kwant)
participants (3)
-
Christoph Groth
-
Gavin Nop
-
kamal ghosh