According to #4768, I assumed OpenBLAS can be built with flang as part of MSVC LLVM toolchain. However, I encountered this error during compilation:
[3693/8906] Building Fortran object CMakeFiles/LAPACK_OVERRIDES.dir/lapack-netlib/SRC/sgedmdq.f90.obj
FAILED: [code=1] CMakeFiles/LAPACK_OVERRIDES.dir/lapack-netlib/SRC/sgedmdq.f90.obj
C:\PROGRA1\MICROS4\18\COMMUN~1\VC\Tools\Llvm\x64\bin\flang.exe -IC:\Users\hgbk2\Documents\sw2\OpenBLAS-0.3.34\lapack-netlib\SRC -fno-stack-arrays -fms-runtime-lib=dll -fno-stack-arrays -ffixed-line-length-72 -o CMakeFiles/LAPACK_OVERRIDES.dir/lapack-netlib/SRC/sgedmdq.f90.obj -c CMakeFiles/LAPACK_OVERRIDES.dir/lapack-netlib/SRC/sgedmdq.f90-pp.f90
error: Semantic errors in CMakeFiles/LAPACK_OVERRIDES.dir/lapack-netlib/SRC/sgedmdq.f90-pp.f90
C:/Users/hgbk2/Documents/sw2/OpenBLAS-0.3.34/lapack-netlib/SRC/sgedmdq.f90:8:29: error: Cannot parse module file for module 'iso_fortran_env': Source file 'iso_fortran_env.mod' was not found
USE iso_fortran_env
^^^^^^^^^^^^^^^
I used the command below to configure OpenBLAS:
cmake.exe ^
-G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING="Release" ^
-D CMAKE_INSTALL_PREFIX="%OPENBLAS_DIR%" ^
-D CMAKE_C_COMPILER="clang.exe" ^
-D CMAKE_CXX_COMPILER="clang.exe" ^
-D CMAKE_Fortran_COMPILER="flang.exe" ^
-D CMAKE_Fortran_FLAGS="-fno-stack-arrays" ^
-D CMAKE_AR="%LLVM_BIN_DIR%\llvm-lib.exe" ^
-D BUILD_SHARED_LIBS:BOOL=OFF ^
-D BUILD_STATIC_LIBS:BOOL=ON ^
-D BUILD_WITHOUT_CBLAS:BOOL=ON ^
-D BUILD_WITHOUT_LAPACKE:BOOL=ON ^
-D BUILD_LAPACK_DEPRECATED:BOOL=ON ^
%OPENBLAS_HOME%
According to #4768, I assumed OpenBLAS can be built with flang as part of MSVC LLVM toolchain. However, I encountered this error during compilation:
I used the command below to configure OpenBLAS:
cmake.exe ^
-G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING="Release" ^
-D CMAKE_INSTALL_PREFIX="%OPENBLAS_DIR%" ^
-D CMAKE_C_COMPILER="clang.exe" ^
-D CMAKE_CXX_COMPILER="clang.exe" ^
-D CMAKE_Fortran_COMPILER="flang.exe" ^
-D CMAKE_Fortran_FLAGS="-fno-stack-arrays" ^
-D CMAKE_AR="%LLVM_BIN_DIR%\llvm-lib.exe" ^
-D BUILD_SHARED_LIBS:BOOL=OFF ^
-D BUILD_STATIC_LIBS:BOOL=ON ^
-D BUILD_WITHOUT_CBLAS:BOOL=ON ^
-D BUILD_WITHOUT_LAPACKE:BOOL=ON ^
-D BUILD_LAPACK_DEPRECATED:BOOL=ON ^
%OPENBLAS_HOME%