Primme Installation

42 views Asked by At

Is Prime only built for Mac? If anyone knows how to use it on Windows, please share. I have tried installing it using Conda, WSL, and even cloning it, but everything is giving me the same issue.

Collecting primme Using cached primme-3.2.1.tar.gz (543 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: future in ./qeenv/lib/python3.10/site-packages (from primme) (0.18.3) Requirement already satisfied: numpy in ./qeenv/lib/python3.10/site-packages (from primme) (1.26.3) Requirement already satisfied: scipy in ./qeenv/lib/python3.10/site-packages (from primme) (1.11.4) Using legacy 'setup.py install' for primme, since package 'wheel' is not installed. Installing collected packages: primme Running setup.py install for primme ... error error: subprocess-exited-with-error

× Running setup.py install for primme did not run successfully. │ exit code: 1 ╰─> [208 lines of output] /tmp/pip-install-8e912w4n/primme_5d9f74a00c4f497faee52fe5c5fb851f/setup.py:38: DeprecationWarning:

    `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
    of the deprecation of `distutils` itself. It will be removed for
    Python >= 3.12. For older Python versions it will remain present.
    It is recommended to use `setuptools < 60.0` for those Python versions.
    For more details, see:
      https://numpy.org/devdocs/reference/distutils_status_migration.html


    from numpy.distutils.system_info import get_info
  /home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:1974: UserWarning:
      Lapack (http://www.netlib.org/lapack/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [lapack]) or by setting
      the LAPACK environment variable.
    return getattr(self, '_calc_info_{}'.format(name))()
  /home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:1974: UserWarning:
      Lapack (http://www.netlib.org/lapack/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [lapack_src]) or by setting
      the LAPACK_SRC environment variable.
    return getattr(self, '_calc_info_{}'.format(name))()
  /home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
      Optimized (vendor) Blas libraries are not found.
      Falls back to netlib Blas library which has worse performance.
      A better performance should be easily gained by switching
      Blas library.
    if self._calc_info(blas):
  /home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
      Blas (http://www.netlib.org/blas/) libraries not found.
      Directories to search for the libraries can be specified in the
      numpy/distutils/site.cfg file (section [blas]) or by setting
      the BLAS environment variable.
    if self._calc_info(blas):
  /home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/distutils/system_info.py:2159: UserWarning:
      Blas (http://www.netlib.org/blas/) sources not found.
      Directories to search for the sources can be specified in the
      numpy/distutils/site.cfg file (section [blas_src]) or by setting
      the BLAS_SRC environment variable.
    if self._calc_info(blas):
  running install
  /home/avsqbit/qeenv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
    warnings.warn(
  running build
  running build_ext
  building 'primme' extension
  INFO: C compiler: x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC

  creating build
  creating build/temp.linux-x86_64-3.10
  creating build/temp.linux-x86_64-3.10/primme
  creating build/temp.linux-x86_64-3.10/primme/src
  creating build/temp.linux-x86_64-3.10/primme/src/eigs
  creating build/temp.linux-x86_64-3.10/primme/src/linalg
  creating build/temp.linux-x86_64-3.10/primme/src/svds
  INFO: compile options: '-DNDEBUG -DF77UNDERSCORE -I/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/core/include -Iprimme/include -Iprimme/src/include -I/home/avsqbit/qeenv/include -I/usr/include/python3.10 -c'
  INFO: x86_64-linux-gnu-gcc: primme.cpp
  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/auxiliary_eigs.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/auxiliary_eigs_normal.cpp
  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/convergence.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'



  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/correction.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/factorize.cpp

  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/init.cppINFO: x86_64-linux-gnu-gcc: primme/src/eigs/inner_solve.cpp

  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/main_iter.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_c.cpp
  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/ortho.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_interface.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/primme_f77.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/restart.cpp

  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'



  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/update_W.cpp

  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/update_projection.cpp
  INFO: x86_64-linux-gnu-gcc: primme/src/eigs/solve_projection.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'



  INFO: x86_64-linux-gnu-gcc: primme/src/linalg/auxiliary.cppINFO: x86_64-linux-gnu-gcc: primme/src/linalg/blaslapack.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'





  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/linalg/magma_wrapper.cppINFO: x86_64-linux-gnu-gcc: primme/src/linalg/memman.cpp



  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/linalg/wtime.cpp

  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'



  INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_c.cpp

  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_f77.cpp

  INFO: x86_64-linux-gnu-gcc: primme/src/svds/primme_svds_interface.cpp


  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'




  [Errno 2] No such file or directory: 'x86_64-linux-gnu-gcc'


  error: Command "x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNDEBUG -DF77UNDERSCORE -I/home/avsqbit/qeenv/lib/python3.10/site-packages/numpy/core/include -Iprimme/include -Iprimme/src/include -I/home/avsqbit/qeenv/include -I/usr/include/python3.10 -c primme.cpp -o build/temp.linux-x86_64-3.10/primme.o" failed with exit status 127
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> primme

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

1

There are 1 answers

0
Itaborala On

I just had the exact same error, trying to install primme on a Ubuntu 22.04.

I was able to install it by rolling back to older versions of setuptools, numpy, and also installing some dependencies manually:

Dependencies that were missing were LAPACK and BLAS, I installed them by running:

sudo apt install liblapack-dev libblas-dev

Then, inside the python environment, I rolled back setuptools and numpy:

pip install setuptools==59.8.0 numpy==1.22.4

I also installed wheel, although I'm not sure it was necessary:

pip install wheel

After this, the installation of primme worked for me.

Hopefully it also solves this problem in windows.