Package Details: python-slycot 0.4.0.0-3

Git Clone URL: https://aur.archlinux.org/python-slycot.git (read-only, click to copy)
Package Base: python-slycot
Description: Python wrapper for selected SLICOT routines, notably including solvers for Riccati, Lyapunov and Sylvester equations.
Upstream URL: http://github.com/python-control/Slycot
Licenses: GPL2
Conflicts: python-slycot-git
Provides: python-slycot
Submitter: bnavigator
Maintainer: bnavigator
Last Packager: bnavigator
Votes: 0
Popularity: 0.000000
First Submitted: 2019-09-27 15:16
Last Updated: 2020-10-05 11:42

Latest Comments

bnavigator commented on 2020-10-02 14:16

I am not saying we do not support MKL upstream. In fact the conda packages used to build against MKL. I do not know the current status, it looks like they reverted that. Upstream still has the recipe in the repository with python setup.py build_ext -lmkl -DBLA_VENDOR=Intel10_64lp

Removing the check is not an option, it makes sure that the built package actually works. Did you try to use the installed slycot yet? Chances are, that the link to your installed MKL lib is broken there too.

To disable the check use makepkg --nocheck (or yay --mflags --nocheck). To force a specific LAPACK implementation, set BLA_VENDOR.

acxz commented on 2020-10-02 13:14

According to upstream: https://github.com/python-control/Slycot#dependencies last bullet

They mention that MKL is a valid BLAS/LAPACK package to use.

Although installing MKL and rebuilding python-slycot finishes successfully. Thx for you help in debugging this. I post an issue upstream. (https://github.com/python-control/Slycot/issues/138)

In the meanwhile, would it be possible to comment out the check function to prevent this issue from appearing for other users. Right now when installing/updating python-slycot I will need to uninstall intel-mkl and reinstall it after python-slycot has been installed.

bnavigator commented on 2020-10-02 13:01

Yes those versions are the same (ignore the plugins, the are not used here). More interesting would be the numpy and blas/lapack versions.

-- Found NumPy: /usr/lib/python3.8/site-packages/numpy/core/include (found version "1.19.2") 
...
-- A library with LAPACK API found.
-- NumPy: /usr/lib/python3.8/site-packages/numpy/core/include
-- LAPACK: /usr/lib/liblapack.so;/usr/lib/libopenblas.so
-- BLAS: /usr/lib/libopenblas.so
-- Slycot version: 0.4.0
-- Found F2PY: /usr/bin/f2py3 (found version "2") 
...
==> Starting check()...
================================================== test session starts ==================================================
platform linux -- Python 3.8.5, pytest-6.1.0, py-1.9.0, pluggy-0.13.1
rootdir: /home/ben/src/pkgbuild/python-slycot/src
plugins: shutil-1.7.0, virtualenv-1.7.0, mock-2.0.0, cov-2.10.1
collected 108 items                                                                                                     

slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_ab01.py .                               [  0%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_ab08n.py ..                             [  2%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_ag08bd.py ....                          [  6%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_analysis.py ...................         [ 24%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_examples.py .............               [ 36%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_exceptions.py ...                       [ 38%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_mb.py ..........                        [ 48%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_mc.py ...                               [ 50%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_sb.py .............................     [ 77%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_sg02ad.py .                             [ 78%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_sg03ad.py ...                           [ 81%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_tb05ad.py ......                        [ 87%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_td04ad.py .......                       [ 93%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_tg01ad.py .                             [ 94%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_tg01fd.py ..                            [ 96%]
slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_transform.py ....                       [100%]

================================================== 108 passed in 1.93s ==================================================
==> Entering fakeroot environment...

...

% LC_ALL=C pacman -Qo /usr/lib/libopenblas.so                            [0]
/usr/lib/libopenblas.so is owned by openblas 0.3.10-1

Edit: Yep you are trying to use a custom lapack/blas implementation: Intel MKL. Archlinux cannot help here. Maybe I can help you upstream when you open an issue on GitHub and provide as much details about your installation as possible, but be aware that it might be just your custom setup which is not supported.

acxz commented on 2020-10-02 12:45

Hello @bnavigator, thx for maintaining this package! I am having some trouble when installing this package, in particular the check() is failing for me. Commenting out the check() functions allows me to complete the successful install of the package.

Here is the error with the check function:

==> Starting check()...
================================================== test session starts ===================================================
platform linux -- Python 3.8.5, pytest-6.1.0, py-1.9.0, pluggy-0.13.1
rootdir: /home/acxz/.cache/yay/python-slycot/src
collected 108 items                                                                                                      

slycot-0.4.0.0/_skbuild/linux-x86_64-3.8/setuptools/lib/slycot/tests/test_ab01.py ==> ERROR: A failure occurred in check().
    Aborting...

Honestly doesn't seem very informative. Maybe I should also post upstream? Can you confirm that the versions under test session starts are the same for you? Thanks

Edit: Looking a bit deeper (i.e. running the test manually by adding a main and calling the test function directly in the file) I see the follow error:

INTEL MKL ERROR: /opt/intel/mkl/lib/intel64/libmkl_avx2.so: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8.
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

calcmogul commented on 2020-01-07 15:35

The pkgrel in the .SRCINFO was bumped to 3, but the PKGBUILD still has 2. This causes the package built to never appear up to date. The pkgrel in the PKGBUILD should be bumped to match the .SRCINFO file.