Skip to content

Install netlib into Windows for testing netlib-system feature #238

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

Open
termoshtt opened this issue Jul 26, 2020 · 2 comments
Open

Install netlib into Windows for testing netlib-system feature #238

termoshtt opened this issue Jul 26, 2020 · 2 comments

Comments

@termoshtt
Copy link
Member

No description provided.

@nnashwin
Copy link

nnashwin commented Mar 11, 2021

I'd like to try working on this and have a windows machine to test.
@termoshtt

@termoshtt
Copy link
Member Author

Welcome :)

Background

  • ndarray-linalg links to the netlib's reference implementation of LAPACK through blas-lapack-rs/netlib-src
  • netlib-src crate only responsible for linking. FFI definitions for LAPACK (implemented in Fortran) is placed at lapack-sys because it is common though another LAPACK implementations e.g. OpenBLAS and Intel MKL.
  • netlib-src tries to compile reference LAPACK in build.rs if system feature is not specified.
  • If system feature is set, netlib-src does not compile the reference LAPACK, and tries to link system's LAPACK. Most Linux system has LAPACK package in its package registry, e.g. in Ubuntu apt install liblapack-dev installs /lib/x86_64-linux-gnu/liblapack.so.3.

Goal

How

  • For Windows, Rust has two target, i.e. x86_64-pc-windows-msvc and x86_64-pc-windows-gnu.
    • For GNU toolchain, there is mingw-w64-x86_64-lapack. This can be suitable for this issue.
    • For MSVC toolchain, it has no official Fortran compiler, and I do not know any compiled binary distribution of the reference LAPACK. Thus, this will be harder than GNU case.
  • GitHub Actions has Windows runner. This can be used for our purpose.

Problem

  • We need to setup msys2 environment on CI to use the above package.
  • Setup MSYS2 looks helpful for it, but I've never tested it.

This is what I recognize about this issue. Feel free to ask me any question.

@termoshtt termoshtt removed the CI label Aug 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants