internals:windows:libs:openblas

OpenBLAS

Needed by: tensor

For now, fetch prebuilt packages. Make sure that these are link compatible with the respective PHP version (dumpbin /headers bin\libopenblas.dll | findstr /c:"linker version"). Remove unnecessary files from the lib folder (libopenblas.lib and libopenblas.exp are needed, and keeping cmake may be reasonable). Then apply the following patch (this is needed because MSVC doesn't support the _Complex keyword, and defining the macros as explained in that file would not include complex.h):

--- a/include/lapack.h	Sat Oct  2 22:52:36 2021
+++ b/include/lapack.h	Fri Nov  5 14:03:10 2021
@@ -36,7 +36,7 @@
 #else
 #include <complex>
 #endif
-#define lapack_complex_float    float _Complex
+#define lapack_complex_float    _C_float_complex
 #endif
 
 #ifndef lapack_complex_float_real
@@ -54,7 +54,7 @@
 #else
 #include <complex>
 #endif
-#define lapack_complex_double   double _Complex
+#define lapack_complex_double   _C_double_complex
 #endif
 
 #ifndef lapack_complex_double_real

At some point in time, we should build the library ourselves.

internals/windows/libs/openblas.txt · Last modified: 2021/11/05 18:06 by cmb