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

[blas/lapack] force vendor #24327

Merged
merged 92 commits into from
Apr 8, 2024
Merged

Conversation

Neumann-A
Copy link
Contributor

@Neumann-A Neumann-A commented Apr 22, 2022

short summary:

  • force the lapack/blas vendor within the wrapper
  • install wrapper stuff from real ports into share/${PORT}
  • move the correct vcpkg-cmake-wrapper.cmake with the blas/lapack metaport
  • move FindLAPACK.cmake with the lapack metaport
  • move the test of lapack/blas in scripts/test_port
  • Install pc files for blas/lapack with the metaport if necessary.
  • use version-string in the metaport.

Neumann-A and others added 5 commits January 21, 2021 11:10
# Conflicts:
#	ports/blas/CONTROL
#	ports/lapack-reference/CONTROL
#	ports/lapack-reference/portfile.cmake
#	ports/lapack/CONTROL
#	versions/b-/blas.json
#	versions/baseline.json
#	versions/l-/lapack-reference.json
#	versions/l-/lapack.json
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: f1508ffe4dca75455bedf18ced9c47cfbe19a831
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..6d2b33fd 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "84c1a7846ece3a993a3cf665e111df5086bcf04f",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..f18051d7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..4fc4f2d1 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "392db08686f9ea13786cbed26397da1f02e8e67c",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

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/blas/portfile.cmake
  • ports/lapack/portfile.cmake

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/blas/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 085e838061fc521a10de8f2ce470a9b3a3d4d50f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..6d2b33fd 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "84c1a7846ece3a993a3cf665e111df5086bcf04f",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..f18051d7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..4fc4f2d1 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "392db08686f9ea13786cbed26397da1f02e8e67c",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

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/blas/portfile.cmake
  • ports/lapack/portfile.cmake

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/blas/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

@Neumann-A
Copy link
Contributor Author

Uff, doesn't this create an install order dependency?

    if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake")
        configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" @ONLY)
    endif()

this (theoretically) currently does. [practically not since it is gated by the supports expression on the different platforms]
The idea would be to move the wrapper of the supporting ports (lapacck-referen/openblas) somewhere else and move it only to the correct location in the meta port (blas/lapack)

@Neumann-A
Copy link
Contributor Author

But I already see that the forcing of the vendor theoretically works. Needs some further polishing but the general way should be clear now.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 8be736be644277a8d1a12fc36a2514aaf59abd43
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..f4e858e4 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "012d7aa8d05beb656a2a1783207e8574f510fc8b",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..ad6b8cbc 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1390,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..f0a50251 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "d9b8e42cc1fbe1fa2a9e75fbef00eb9fabb6337f",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..fff15e32 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "9b807e949bb2f269f515461b0a159024d57cc65b",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 771e7a3a594260dc7041a984cec35d17ec696ffe
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..f4e858e4 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "012d7aa8d05beb656a2a1783207e8574f510fc8b",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..ad6b8cbc 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1390,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..f0a50251 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "d9b8e42cc1fbe1fa2a9e75fbef00eb9fabb6337f",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..4e69c531 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "3998b5689e89a4bd5b0c980b40b995087da212dc",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 771e7a3a594260dc7041a984cec35d17ec696ffe
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..f4e858e4 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "012d7aa8d05beb656a2a1783207e8574f510fc8b",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..ad6b8cbc 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1390,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..f2df3233 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "393e340ed861c59cdbca7f4825a0071cd94a2cb3",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..4e69c531 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "3998b5689e89a4bd5b0c980b40b995087da212dc",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 771e7a3a594260dc7041a984cec35d17ec696ffe
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..f4e858e4 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "012d7aa8d05beb656a2a1783207e8574f510fc8b",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..ad6b8cbc 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1390,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..397fbc55 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "53ec27c8e5305579c6447950fb127e79cab4e214",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..4e69c531 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "3998b5689e89a4bd5b0c980b40b995087da212dc",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 771e7a3a594260dc7041a984cec35d17ec696ffe
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..f4e858e4 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "012d7aa8d05beb656a2a1783207e8574f510fc8b",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..ad6b8cbc 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,8 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1390,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3322,7 +3322,7 @@
     },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5050,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..397fbc55 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "53ec27c8e5305579c6447950fb127e79cab4e214",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..aea92828 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "87af69e9998abca10bfe1b044e14059568ff6be6",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 222cd6eac7418669affd1a0b12940becf321d524
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..73e2244c 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "b5a95b23ef78d8c5feb75b67c424a3378a4a80c6",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..84fad9a7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,12 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
+    },
+    "blas-impl": {
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1394,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3320,9 +3324,13 @@
       "baseline": "2022-02-22",
       "port-version": 0
     },
+    "lapack-impl": {
+      "baseline": "2022-02-22",
+      "port-version": 0
+    },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5058,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..397fbc55 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "53ec27c8e5305579c6447950fb127e79cab4e214",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..1ff0f84c 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "da59cc546e4177caca786c3fcec9344c5cb6ad71",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 222cd6eac7418669affd1a0b12940becf321d524
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..73e2244c 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "b5a95b23ef78d8c5feb75b67c424a3378a4a80c6",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..84fad9a7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,12 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
+    },
+    "blas-impl": {
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1394,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3320,9 +3324,13 @@
       "baseline": "2022-02-22",
       "port-version": 0
     },
+    "lapack-impl": {
+      "baseline": "2022-02-22",
+      "port-version": 0
+    },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5058,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..397fbc55 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "53ec27c8e5305579c6447950fb127e79cab4e214",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..1ff0f84c 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "da59cc546e4177caca786c3fcec9344c5cb6ad71",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for lapack but no changes to version or port version.
-- Version: 2022-02-22
-- Old SHA: 3a9c5b51e3480db058719db223df981e0e679819
-- New SHA: 222cd6eac7418669affd1a0b12940becf321d524
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ed6dc3a43f976099525c5dcde2bfe7dc4092fb3d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/b-/blas.json b/versions/b-/blas.json
index c8b3ade6..73e2244c 100644
--- a/versions/b-/blas.json
+++ b/versions/b-/blas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "b5a95b23ef78d8c5feb75b67c424a3378a4a80c6",
+      "version-date": "2022-04-22",
+      "port-version": 0
+    },
     {
       "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051",
       "version-string": "1",
diff --git a/versions/baseline.json b/versions/baseline.json
index dddcaa8b..84fad9a7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -489,8 +489,12 @@
       "port-version": 0
     },
     "blas": {
-      "baseline": "1",
-      "port-version": 1
+      "baseline": "2022-04-22",
+      "port-version": 0
+    },
+    "blas-impl": {
+      "baseline": "2022-04-22",
+      "port-version": 0
     },
     "blaze": {
       "baseline": "3.8",
@@ -1390,7 +1394,7 @@
     },
     "clapack": {
       "baseline": "3.2.1",
-      "port-version": 20
+      "port-version": 21
     },
     "clara": {
       "baseline": "1.1.5",
@@ -3320,9 +3324,13 @@
       "baseline": "2022-02-22",
       "port-version": 0
     },
+    "lapack-impl": {
+      "baseline": "2022-02-22",
+      "port-version": 0
+    },
     "lapack-reference": {
       "baseline": "3.10.0",
-      "port-version": 0
+      "port-version": 1
     },
     "lastools": {
       "baseline": "2020-05-09",
@@ -5050,7 +5058,7 @@
     },
     "openblas": {
       "baseline": "0.3.19",
-      "port-version": 0
+      "port-version": 1
     },
     "opencascade": {
       "baseline": "7.6.0",
diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json
index 421ccf45..397fbc55 100644
--- a/versions/c-/clapack.json
+++ b/versions/c-/clapack.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "53ec27c8e5305579c6447950fb127e79cab4e214",
+      "version": "3.2.1",
+      "port-version": 21
+    },
     {
       "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5",
       "version": "3.2.1",
diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json
index 999e4f13..1ff0f84c 100644
--- a/versions/l-/lapack-reference.json
+++ b/versions/l-/lapack-reference.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "da59cc546e4177caca786c3fcec9344c5cb6ad71",
+      "version": "3.10.0",
+      "port-version": 1
+    },
     {
       "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af",
       "version": "3.10.0",
diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json
index 0cf8441a..4a7a2e22 100644
--- a/versions/o-/openblas.json
+++ b/versions/o-/openblas.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e0c4b90559281d9e7838a691ec0985f51f7b18",
+      "version": "0.3.19",
+      "port-version": 1
+    },
     {
       "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65",
       "version": "0.3.19",

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/clapack/vcpkg.json
  • ports/openblas/vcpkg.json

Valid values for the license field can be found in the documentation

@Neumann-A Neumann-A mentioned this pull request Mar 14, 2024
5 tasks
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notes:

Before BLAS After BLAS Before LAPACK After LAPACK
x64-windows openblas openblas lapack-reference lapack-reference
x64-windows-static openblas lapack-reference[cblas] lapack-reference lapack-reference
x64-uwp openblas openblas clapack clapack
x64-osx openblas accelerate framework lapack-reference accelerate framework
arm64-osx openblas accelerate framework lapack-reference accelerate framework
arm64-windows openblas openblas clapack clapack
arm64-windows-static openblas openblas clapack clapack
x64-linux openblas openblas lapack-reference lapack-reference

Changing to accelerate framework makes sense. Can you explain why windows-static is changed?

Peanut gallery comments:

I'm sorry that this PR has taken forever. There are things we can / should do better as maintainers to avoid creating situations where it needs to wait that long, and things that could have been done to the PR itself.

  • The vcpkg team normally assigns a maintainer on a weekly basis who is responsible to make sure PRs can land. That makes subtle and large PRs difficult to land as every 3 weeks whomever is reviewing has a brain transplant. We've tried to address this and will be addressing this in the future by assigning PRs to individuals if they can't effectively be handled like most. Maintainer time is finite and we can't guarantee a quality of service here, but 2+ years for this was kind of excessive.
  • vcpkg maintainers aren't blas/lapack customers ourselves, making it difficult to know when we're doing the Right Thing™️ bu them. We didn't get a big swath of customers complaining at us about how it worked before, and that made prioritizing this hard to justify.
  • One reason this PR sat forever is that it was after a bit of an edit war trying to change the BLAS/LAPACK vendor settings to whatever the next contributor wanted. We responded by effectively getting to a state that was functional, and saying 'hands off this setting' in the future.
    • It isn't clear to me if locking BLA_VENDOR and BLA_STATIC is a separable change here. If it was a separable change, separating it would have avoided this third rail entirely.
  • The version of CMake we had to support when this PR was opened did not support our canonical BLAS, OpenBLAS, as this was added in CMake 3.6.
  • blas and lapack are a twisted jumbled mess where some things implement one and not the other, some things implement both, some things only work on specific hardware, etc., and any changes are likely to be extremely breaking for people.

ports/cblas/portfile.cmake Outdated Show resolved Hide resolved
ports/cblas/vcpkg.json Show resolved Hide resolved
ports/shogun/vcpkg.json Show resolved Hide resolved
scripts/test_ports/blas-test/CMakeLists.txt Outdated Show resolved Hide resolved
ports/clapack/FindLAPACK.cmake Show resolved Hide resolved
ports/lapack-reference/vcpkg.json Show resolved Hide resolved
ports/clapack/FindLAPACK.cmake Show resolved Hide resolved
@BillyONeal BillyONeal added info:reviewed Pull Request changes follow basic guidelines and removed requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. labels Apr 3, 2024
@Neumann-A
Copy link
Contributor Author

Can you explain why windows-static is changed?

beacuse there should only be one BLAS implementation being provided. The problem in static builds is that lapack-reference cannot link openblas due to the current choice of the Fortran compiler being gfortran. This leads to the situation where both lapack-reference and openblas would provide blas symbols. Since lapack typically depends on blas and thus comes earlier on the link line only symbols from lapack-reference would be used any way. As such the switch just deals with the inconsistency and make lapack-reference the only symbol provider. The forcing of the blas vendor also helps with that.

@Neumann-A
Copy link
Contributor Author

This PR changes the selected BLAS/LAPACK implementation for some targets:

@BillyONeal I don't think that table is correct. Before it is basically undefined due to https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/FindBLAS.cmake?ref_type=heads#L394-L400
The code iterates through all possibilities until it finds an implementation.

@BillyONeal
Copy link
Member

This PR changes the selected BLAS/LAPACK implementation for some targets:

@BillyONeal I don't think that table is correct. Before it is basically undefined due to https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/FindBLAS.cmake?ref_type=heads#L394-L400 The code iterates through all possibilities until it finds an implementation.

Because it wasn't locked indeed it could have picked something else; I'm talking about what we expected to happen here.

@BillyONeal
Copy link
Member

Can you explain why windows-static is changed?

beacuse there should only be one BLAS implementation being provided. The problem in static builds is that lapack-reference cannot link openblas due to the current choice of the Fortran compiler being gfortran. This leads to the situation where both lapack-reference and openblas would provide blas symbols. Since lapack typically depends on blas and thus comes earlier on the link line only symbols from lapack-reference would be used any way. As such the switch just deals with the inconsistency and make lapack-reference the only symbol provider. The forcing of the blas vendor also helps with that.

Doesn't lapack-reference depend on gfortran itself? Why does using it instead fix the issue?

* Add comments describing rationale for the chosen backends
* Add comments pointing to BLA_VENDOR and BLA_STATIC documentation
* Add test port for cblas
* dos2unix all the things
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was convinced that we now have a consistent story for which vendor is used over Discord after some fixes.

Thanks @Neumann-A, can you confirm you are happy with these changes?

@Neumann-A
Copy link
Contributor Author

cc @BillyONeal: All good

@BillyONeal BillyONeal merged commit 0bc3f04 into microsoft:master Apr 8, 2024
16 checks passed
@Neumann-A Neumann-A deleted the force_bla_vendor branch April 8, 2024 18:18
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Apr 9, 2024
Thomas1664 pushed a commit to Thomas1664/vcpkg that referenced this pull request Apr 9, 2024
Co-authored-by: Alexander Neumann <you@example.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
JavierMatosD pushed a commit that referenced this pull request Apr 29, 2024
closes #36801
closes #36253
closes #36044

~~includes #24327 to fix dlib linkage in the osx pipelines.~~ 

Need to look at 
~~#36044~~
~~#36345~~

merge after 
- [x] #37561

---------

Co-authored-by: Alexander Neumann <you@example.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.