Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On Windows just installing libblas (with mkl) is not sufficient to make sure that CMake's find_package(BLAS REQUIRED) succeeds #120

Closed
1 task done
traversaro opened this issue May 12, 2024 · 2 comments
Labels

Comments

@traversaro
Copy link

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

On Windows, just installing libblas with mkl backend is not sufficient to make sure that CMake's find_package(BLAS REQUIRED) succeeds.

For example, these fails with Could NOT find BLAS (missing: BLAS_LIBRARIES) error:

conda create -n blasmklcheck libblas=*=*mkl* cmake-package-check compilers cmake pkg-config ninja
conda activate blasmklcheck 
cmake-package-check BLAS

while these succeeds:

nda create -n blasdevelmklcheck blas-devel libblas=*=*mkl* cmake-package-check compilers cmake pkg-config ninja
conda activate blasdevelmklcheck 
cmake-package-check BLAS

Installed packages

(blasmklcheck) C:\Users\straversaro>conda list
# packages in environment at D:\miniforge3\envs\blasmklcheck:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                hcfcfb64_5    conda-forge
c-compiler                1.7.0                hcfcfb64_1    conda-forge
ca-certificates           2024.2.2             h56e8100_0    conda-forge
clangdev                  5.0.0                   flang_3    conda-forge
cmake                     3.29.3               h75d51d9_0    conda-forge
cmake-package-check       0.0.4              pyh4af843d_0    conda-forge
compilers                 1.7.0                h57928b3_1    conda-forge
cxx-compiler              1.7.0                h91493d7_1    conda-forge
flang                     5.0.0           he025d50_20180525    conda-forge
flang_win-64              5.0.0           h13ae965_20180526    conda-forge
fortran-compiler          1.7.0                h9655429_1    conda-forge
intel-openmp              2024.1.0           h57928b3_965    conda-forge
jinja2                    3.1.4              pyhd8ed1ab_0    conda-forge
krb5                      1.21.2               heb0366b_0    conda-forge
libblas                   3.9.0              22_win64_mkl    conda-forge
libcurl                   8.7.1                hd5e4a3a_0    conda-forge
libexpat                  2.6.2                h63175ca_0    conda-forge
libffi                    3.4.2                h8ffe710_5    conda-forge
libflang                  5.0.0           h6538335_20180525    conda-forge
libglib                   2.80.2               h0df6a38_0    conda-forge
libhwloc                  2.10.0          default_h2fffb23_1000    conda-forge
libiconv                  1.17                 hcfcfb64_2    conda-forge
libintl                   0.22.5               h5728263_2    conda-forge
libsqlite                 3.45.3               hcfcfb64_0    conda-forge
libssh2                   1.11.0               h7dfc565_0    conda-forge
libuv                     1.48.0               hcfcfb64_0    conda-forge
libxml2                   2.12.6               hc3477c8_2    conda-forge
libzlib                   1.2.13               hcfcfb64_5    conda-forge
llvm-meta                 5.0.0                         0    conda-forge
markupsafe                2.1.5           py312he70551f_0    conda-forge
mkl                       2024.1.0           h66d3029_692    conda-forge
ninja                     1.12.1               hc790b64_0    conda-forge
openmp                    5.0.0                    vc14_1    conda-forge
openssl                   3.3.0                hcfcfb64_0    conda-forge
pcre2                     10.43                h17e33f8_0    conda-forge
pip                       24.0               pyhd8ed1ab_0    conda-forge
pkg-config                0.29.2            h2bf4dc2_1008    conda-forge
pthreads-win32            2.9.1                hfa6e2cd_3    conda-forge
python                    3.12.3          h2628c8c_0_cpython    conda-forge
python_abi                3.12                    4_cp312    conda-forge
setuptools                69.5.1             pyhd8ed1ab_0    conda-forge
tbb                       2021.12.0            h91493d7_0    conda-forge
tk                        8.6.13               h5226925_1    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
ucrt                      10.0.22621.0         h57928b3_0    conda-forge
vc                        14.3                hcf57466_18    conda-forge
vc14_runtime              14.38.33130         h82b7239_18    conda-forge
vs2015_runtime            14.38.33130         hcb4865c_18    conda-forge
vs2019_win-64             19.29.30139         he1865b1_18    conda-forge
vswhere                   3.1.4                h57928b3_0    conda-forge
wheel                     0.43.0             pyhd8ed1ab_1    conda-forge
xz                        5.2.6                h8d14728_0    conda-forge
zstd                      1.5.6                h0ea2cb4_0    conda-forge

Environment info

(blasmklcheck) C:\Users\straversaro>conda info

     active environment : blasmklcheck
    active env location : D:\miniforge3\envs\blasmklcheck
            shell level : 1
       user config file : C:\Users\straversaro\.condarc
 populated config files : D:\miniforge3\.condarc
                          C:\Users\straversaro\.condarc
          conda version : 23.11.0
    conda-build version : 24.3.0
         python version : 3.10.13.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=x86_64
                          __conda=23.11.0=0
                          __cuda=12.3=0
                          __win=0=0
       base environment : D:\miniforge3  (writable)
      conda av data dir : D:\miniforge3\etc\conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/robostack-staging/win-64
                          https://conda.anaconda.org/robostack-staging/noarch
                          https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : D:\miniforge3\pkgs
                          C:\Users\straversaro\.conda\pkgs
                          C:\Users\straversaro\AppData\Local\conda\conda\pkgs
       envs directories : D:\miniforge3\envs
                          C:\Users\straversaro\.conda\envs
                          C:\Users\straversaro\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/23.11.0 requests/2.31.0 CPython/3.10.13 Windows/10 Windows/10.0.22631 solver/libmamba conda-libmamba-solver/23.12.0 libmambapy/1.5.5
          administrator : False
             netrc file : None
           offline mode : False
@traversaro
Copy link
Author

See conda-forge/conda-forge.github.io#2171 for the original discussion.

PRs that failed with Could NOT find BLAS (missing: BLAS_LIBRARIES) due to this:

@isuruf
Copy link
Member

isuruf commented May 12, 2024

I didn't realize you were using libblas with MKL instead of netlib. Then you do need blas-devel.

@isuruf isuruf closed this as completed May 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants