You are not logged in.

#1 2020-01-21 18:09:51

fixgoats
Member
Registered: 2019-11-09
Posts: 2

With PyPy3, installing scipy gives error related to cblas_sgemm

Hi, I'm tinkering with using pypy and was trying to install scipy with it. However, when I try to install it with

pypy3 -m pip install --user scipy

I just get the following error message

ERROR: Command errored out with exit status 1:
     command: /usr/bin/pypy3 /home/fixgoats/.local/lib/pypy3.6/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmppnybtv8m
         cwd: /tmp/pip-install-ebnht1r3/scipy
    Complete output (44 lines):
    setup.py:420: UserWarning: Unrecognized setuptools command ('dist_info --egg-base /tmp/pip-modern-metadata-6ico2pqe'), proceeding with generating Cython sources and expanding templates
      ' '.join(sys.argv[1:])))
    Traceback (most recent call last):
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/__init__.py", line 16, in <module>
        from . import multiarray
    ImportError: /tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/multiarray.pypy36-pp73-x86_64-linux-gnu.so: undefined symbol: cblas_sgemm

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/home/fixgoats/.local/lib/pypy3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 257, in <module>
        main()
      File "/home/fixgoats/.local/lib/pypy3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 240, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/home/fixgoats/.local/lib/pypy3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 110, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/setuptools/build_meta.py", line 156, in prepare_metadata_for_build_wheel
        self.run_setup()
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/setuptools/build_meta.py", line 243, in run_setup
        self).run_setup(setup_script=setup_script)
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/setuptools/build_meta.py", line 142, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 540, in <module>
        setup_package()
      File "setup.py", line 516, in setup_package
        from numpy.distutils.core import setup
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/__init__.py", line 142, in <module>
        from . import add_newdocs
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/add_newdocs.py", line 13, in <module>
        from numpy.lib import add_newdoc
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/lib/__init__.py", line 8, in <module>
        from .type_check import *
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/lib/type_check.py", line 11, in <module>
        import numpy.core.numeric as _nx
      File "/tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/__init__.py", line 26, in <module>
        raise ImportError(msg)
    ImportError:
    Importing the multiarray numpy extension module failed.  Most
    likely you are trying to import a failed build of numpy.
    If you're working with a numpy git repo, try `git clean -xdf` (removes all
    files not under version control).  Otherwise reinstall numpy.

    Original error was: /tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/multiarray.pypy36-pp73-x86_64-linux-gnu.so: undefined symbol: cblas_sgemm

    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/pypy3 /home/fixgoats/.local/lib/pypy3.6/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmppnybtv8m Check the logs for full command output.

This may very well be an issue with pypy's package management, I'm really not knowledgeable enough to tell where the failure lies, but I'll ask here if this is actually an Arch specific problem like Arch having some crucial files in a different place than pypy thinks they should be. I don't think the suggestion to use

git clean

is relevant since I installed numpy with pip and I don't have a git repo for it. I've also reinstalled numpy multiple times with no luck. I have ensured that I have cblas, openblas, lapack and lapacke installed from the official repositories.

Offline

#2 2020-01-22 10:25:04

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: With PyPy3, installing scipy gives error related to cblas_sgemm

Welcome to archlinux forums.

A DDG search for undefined symbol: cblas_sgemm indicates this is probably a problem between numpy and BLAS / ATLAS .

https://stackoverflow.com/questions/346 … blas-sgemm
https://github.com/numpy/numpy/issues/12999

post output of

$ ldd /tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/multiarray.pypy36-pp73-x86_64-linux-gnu.so

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2020-01-22 18:36:39

fixgoats
Member
Registered: 2019-11-09
Posts: 2

Re: With PyPy3, installing scipy gives error related to cblas_sgemm

 ldd /tmp/pip-build-env-b0vqctdk/overlay/site-packages/numpy/core/multiarray.pypy36-pp73-x86_64-linux-gnu.so

just returns "No such file or directory" even just after attempting to install from scratch. For what it's worth, this may be PyPy's version of SciPy expecting an older version of OpenBLAS than what's on the official repos. I recently had a very similar error with Rust where that was the problem.
If it helps, I can install NumPy with no errors, but then when I try to multiply matrices with matmul I get the same error about cblas_sgemm.

Offline

Board footer

Powered by FluxBB