-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
[openblas] make openblas build on MinGW #20986
[openblas] make openblas build on MinGW #20986
Conversation
Could you also test dynamic? Note that only windows dynamic triplets are tested in CI so it is really unclear if x64-mingw-dynamic should work. |
I just built openblas with x64-mingw-dynamic as well and can confirm that the build succeeds and that openblas_utest.exe runs and passes all tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
threads USE_THREAD
simplethread USE_SIMPLE_THREADED_LEVEL3
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"dynamic-arch" DYNAMIC_ARCH
)
Could you please add the features in one vcpkg_check_features
?
Could you please also add double quotes for the paths in this PR? Such as Please refer to https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/cmake-guidelines.md |
…ble quotes according to maintainer guidelines.
I will make the change as requested. I'm not the original author of the portfile, so I'm not sure if that was intentional. |
In my opinion, it will have no effect on the function. Let's see some points from the author. @xandox Could you please help confirm if these two functions have any effect each other? Thanks. |
@NancyLi1013 @ChristopherSchwartzXRITE Hi, I am sorry, but I am not sure what your question about? |
Hi @xandox . The question was about whether its OK to join the functions (or rather, if you had deliberately split them). |
@ChristopherSchwartzXRITE Oh, really? Not, it was not a conscious decision :) Probably I did not notice first call. |
#18265, merged 11 Jun, added the first call, and it added the passing of #15238, merged 26 Jul, added the second call, and it added the passing of With two calls, the threading options are lost, and the DYNAMIC_ARCH option is passed to UWP and Windows. Now what was the intention? What about non-windows targets? CC @JackBoosY for #18265. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/openblas/portfile.cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/openblas/portfile.cmake
… functions (2) - missed a spot.
I will take a look in the next week. |
|
Thanks for sorting this out and fixing the broken uwp build @JackBoosY! |
Seems shogun select cblas instead of openblas. |
This issue seems to persist. I noticed that shogun is skipped for ci builds for all other plaforms except for linux in the ci.baseline.txt. |
Nope, we should completly solve it in this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/shogun/portfile.cmake
I can't repro this issue because shogun found cblas.h in /usr/include/x86_64-linux-gnu/. |
To me it looks as if the behavior to install I'm wondering why it wasn't noticed sooner 🤔 . |
What does your PR fix?
Fixes building openblas on MinGW on Windows.
The MinGW build using GCC seems to require the same explicit build flags as the non-windows systems, but it the
VCPKG_TARGET_IS_WINDOWS
will be set to true. Adding the extra check forNOT VCPKG_TARGET_IS_MINGW
will make the portfile use the working set of build flags.Which triplets are supported/not supported? Have you updated the CI baseline?
all + mingw, no
Does your PR follow the maintainer guide?
yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?yes
Tested with x64-mingw-static and x64-mingw-dynamic on Windows.