Dear Kwant friend,
Recently, I have faced the same failure. I am trying afresh.
Thanks.


From: Gavin Nop via Kwant-discuss <[email protected]>
Sent: Wed, 16 Oct 2024 19:06:00 
To: [email protected]
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)


Reply via email to