Skip to content

Conversation

@cenit
Copy link
Contributor

@cenit cenit commented Mar 31, 2022

Describe the pull request

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

opencv4:arm-uwp: CASCADED_DUE_TO_MISSING_DEPENDENCIES

didn’t inspect other triplets

don’t know what to say

not anymore. Anytime i come back for a pr or a fix, I always find the same situation

@BillyONeal
Copy link
Member

opencv4:arm-uwp: CASCADED_DUE_TO_MISSING_DEPENDENCIES

Your new supports expression does not allow arm-uwp (arm-uwp doesn't match (windows & x64) | (linux & x64) | (linux & arm64)) so a cascade here is expected.

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

that one is for cuda, which is not a dependency for opencv on arm-uwp
Failure is in fact when building libvpx there

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

also, you are confirming that windows does not include uwp, right? because i was thinking about having to write explicitly (windows & x64 & !uwp)

@BillyONeal
Copy link
Member

Putting both expressions into CNF to make sure I can compare them:

Old:
Given:      linux | (!osx & !uwp & !(arm64 & windows))
Distribute: (linux | !osx) & (linux | !uwp) & (linux | !(arm64 & windows))
DeMorgan:   (linux | !osx) & (linux | !uwp) & (linux | !arm64 | !windows)
!osx and !uwp and !windows all imply Linux:
            !osx & !uwp & (!arm64 | !windows)

New:
Given:      (windows & x64) | (linux & x64) | (linux & arm64)
Factor:     (x64 & (windows | linux)) | (linux & arm64)
Distribute: ((x64 | (linux & arm64)) & (windows | linux | (linux & arm64)))
Distribute: (x64 | linux) & (x64 | arm64) & (windows | linux | (linux & arm64))
Distribute: (x64 | linux) & (x64 | arm64) & (windows | linux | linux) & (windows | linux | arm64)
Dedupe:     (x64 | linux) & (x64 | arm64) & (windows | linux) & (windows | linux | arm64)
A | B & A implies A:
            (x64 | linux) & (x64 | arm64) & (windows | linux)

Observations:

  • The new expression admits x64-uwp, which I don't think CUDA wants to support. Is that the intent? If it is not the intent I think (windows & x64) should change to (windows & x64 & !uwp)
  • The old expression admitted arm-windows, but this does not. I don't think there is any arm-windows hardware with NVIDIA GPUs so this is probably a correct change?
  • Both expressions prohibit osx, one explicitly negatively and the other constructively with windows|linux

technical question: is “windows” including or not “uwp”? i assume not from your reply

uwp implies windows, but you only allowed windows&x64; windows&arm is now blocked too.

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

ok so i created the cascade, sorry for the rant. I will fix the clause asap

@BillyONeal
Copy link
Member

that one is for cuda, which is not a dependency for opencv on arm-uwp Failure is in fact when building libvpx there

Ah, then maybe my assumption there was incorrect. We did just stage changes to print out why things are cascaded failures in microsoft/vcpkg-tool#468 which is getting pushed soon (waiting for osx validation build to finish)

ok so i created the cascade, sorry for the rant. I will fix the clause asap

It's a fair rant that we haven't been doing a good job making sure things work out OK for ports you care about

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 cudnn but no changes to version or port version.
-- Version: 7.6.5#4
-- Old SHA: c23360a6cfba2b5c8962c0c106d165ca31224162
-- New SHA: 61fb9e4b24e0a6fb103874beebb41558b281db1f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
Error: Local changes detected for cuda but no changes to version or port version.
-- Version: 10.1#9
-- Old SHA: 7895738a8a164beddfb53c4c69352b202d8e13e9
-- New SHA: 53d5cb12d1225a1c3a6f50dca0116daefc3ef1aa
-- 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 9d9a6f486cc7da7664117a75d01440db0088634a -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/c-/cuda.json b/versions/c-/cuda.json
index cb48059..4640802 100644
--- a/versions/c-/cuda.json
+++ b/versions/c-/cuda.json
@@ -1,8 +1,8 @@
 {
   "versions": [
     {
-      "git-tree": "45c11499065a604e78914c2c4b2f1a98dddb9edf",
-      "version": "10.1",
+      "git-tree": "7895738a8a164beddfb53c4c69352b202d8e13e9",
+      "version-string": "10.1",
       "port-version": 9
     },
     {
diff --git a/versions/c-/cudnn.json b/versions/c-/cudnn.json
index dfe7239..6e6a6fd 100644
--- a/versions/c-/cudnn.json
+++ b/versions/c-/cudnn.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "e72da795c9ffdb748f683a0356e30e8f2216568e",
+      "git-tree": "c23360a6cfba2b5c8962c0c106d165ca31224162",
       "version": "7.6.5",
       "port-version": 4
     },

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

Details

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

  • ports/cuda/vcpkg.json
  • ports/cudnn/vcpkg.json
  • ports/opencv2/vcpkg.json

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

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

on the go with just a phone. it’s very difficult to fix the version db, i will do it later

@BillyONeal
Copy link
Member

https://dev.azure.com/vcpkg/public/_build/results?buildId=69800 indeed has a preexisting cascade for arm-uwp

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 cudnn but no changes to version or port version.
-- Version: 7.6.5#4
-- Old SHA: c23360a6cfba2b5c8962c0c106d165ca31224162
-- New SHA: 61fb9e4b24e0a6fb103874beebb41558b281db1f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
Error: Local changes detected for cuda but no changes to version or port version.
-- Version: 10.1#9
-- Old SHA: 7895738a8a164beddfb53c4c69352b202d8e13e9
-- New SHA: 45c11499065a604e78914c2c4b2f1a98dddb9edf
-- 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 9d9a6f486cc7da7664117a75d01440db0088634a -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/c-/cuda.json b/versions/c-/cuda.json
index cb48059..4640802 100644
--- a/versions/c-/cuda.json
+++ b/versions/c-/cuda.json
@@ -1,8 +1,8 @@
 {
   "versions": [
     {
-      "git-tree": "45c11499065a604e78914c2c4b2f1a98dddb9edf",
-      "version": "10.1",
+      "git-tree": "7895738a8a164beddfb53c4c69352b202d8e13e9",
+      "version-string": "10.1",
       "port-version": 9
     },
     {
diff --git a/versions/c-/cudnn.json b/versions/c-/cudnn.json
index dfe7239..6e6a6fd 100644
--- a/versions/c-/cudnn.json
+++ b/versions/c-/cudnn.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "e72da795c9ffdb748f683a0356e30e8f2216568e",
+      "git-tree": "c23360a6cfba2b5c8962c0c106d165ca31224162",
       "version": "7.6.5",
       "port-version": 4
     },

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

Details

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

  • ports/cuda/vcpkg.json
  • ports/cudnn/vcpkg.json
  • ports/opencv2/vcpkg.json

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

@BillyONeal
Copy link
Member

https://dev.azure.com/vcpkg/public/_build/results?buildId=69800 indeed has a preexisting cascade for arm-uwp

However the system didn't think it would be a cascade for arm-uwp, so it wasn't a failure created by a supports expression. Did opencv ever work on arm-uwp?

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

yes, after every update i do i make sure vcpkg-ci-opencv fully builds on all triplets

@cenit
Copy link
Contributor Author

cenit commented Mar 31, 2022

including some community ones i check by myself (especially single config ones)

@BillyONeal
Copy link
Member

Microsoft (R) Build Engine version 17.1.0+ae57d105c for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 3/31/2022 11:01:41 AM.
     1>Project "D:\buildtrees\libvpx\arm-uwp\vpx.vcxproj" on node 1 (Rebuild target(s)).
     1>CoreClean:
         Creating directory "ARM\Release\vpx\".
     1>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(440,5): error MSB8020: The build tools for v143 (Platform Toolset = 'v143') cannot be found. To build using the v143 build tools, please install v143 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [D:\buildtrees\libvpx\arm-uwp\vpx.vcxproj]
     1>Done Building Project "D:\buildtrees\libvpx\arm-uwp\vpx.vcxproj" (Rebuild target(s)) -- FAILED.

Build FAILED.

       "D:\buildtrees\libvpx\arm-uwp\vpx.vcxproj" (Rebuild target) (1) ->
       (PrepareForBuild target) -> 
         C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(440,5): error MSB8020: The build tools for v143 (Platform Toolset = 'v143') cannot be found. To build using the v143 build tools, please install v143 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [D:\buildtrees\libvpx\arm-uwp\vpx.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.28

Hmmmm

'Microsoft.VisualStudio.Component.VC.Tools.ARM',

Hmmm ... to DeveloperCommunity I go

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 cudnn but no changes to version or port version.
-- Version: 7.6.5#4
-- Old SHA: c23360a6cfba2b5c8962c0c106d165ca31224162
-- New SHA: 61fb9e4b24e0a6fb103874beebb41558b281db1f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
Error: Local changes detected for cuda but no changes to version or port version.
-- Version: 10.1#9
-- Old SHA: 7895738a8a164beddfb53c4c69352b202d8e13e9
-- New SHA: 53d5cb12d1225a1c3a6f50dca0116daefc3ef1aa
-- 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 9d9a6f486cc7da7664117a75d01440db0088634a -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/c-/cuda.json b/versions/c-/cuda.json
index 160a11a..4640802 100644
--- a/versions/c-/cuda.json
+++ b/versions/c-/cuda.json
@@ -1,8 +1,8 @@
 {
   "versions": [
     {
-      "git-tree": "53d5cb12d1225a1c3a6f50dca0116daefc3ef1aa",
-      "version": "10.1",
+      "git-tree": "7895738a8a164beddfb53c4c69352b202d8e13e9",
+      "version-string": "10.1",
       "port-version": 9
     },
     {
diff --git a/versions/c-/cudnn.json b/versions/c-/cudnn.json
index 9d35874..6e6a6fd 100644
--- a/versions/c-/cudnn.json
+++ b/versions/c-/cudnn.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "61fb9e4b24e0a6fb103874beebb41558b281db1f",
+      "git-tree": "c23360a6cfba2b5c8962c0c106d165ca31224162",
       "version": "7.6.5",
       "port-version": 4
     },

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

Details

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

  • ports/cuda/vcpkg.json
  • ports/cudnn/vcpkg.json
  • ports/opencv2/vcpkg.json

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

@BillyONeal
Copy link
Member

Sorry for failed version DB update attempt

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.

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

Details

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

  • ports/cuda/vcpkg.json
  • ports/cudnn/vcpkg.json
  • ports/opencv2/vcpkg.json

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

@BillyONeal
Copy link
Member

@LilyWangLL LilyWangLL added the category:port-bug The issue is with a library, which is something the port should already support label Apr 1, 2022
@JackBoosY
Copy link
Contributor

@BillyONeal Seems okay now, consider to merge this?

@JackBoosY JackBoosY added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Apr 2, 2022
@cenit
Copy link
Contributor Author

cenit commented Apr 2, 2022

pr in itself has always been ok.
What is concerning is that opencv is not tested in some triplets and that this has been baselined somehow (libvpx failure went unnoticed and added to baseline without further investigation)

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.

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

Details

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

  • ports/cuda/vcpkg.json
  • ports/cudnn/vcpkg.json
  • ports/opencv2/vcpkg.json

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

@strega-nil-ms
Copy link
Contributor

Cools, thanks @cenit!

@strega-nil-ms strega-nil-ms merged commit e79aaaa into microsoft:master Apr 5, 2022
@cenit cenit deleted the dev/cenit/opencv_support branch April 5, 2022 20:28
@cenit
Copy link
Contributor Author

cenit commented Apr 5, 2022

libvpx regression baselined in #23011 is still under investigation, i hope.
This broke opencv on uwp-arm.
opencv in other triplets might be untested too, i didn’t fully investigate the build report (was surprised by quick green by uwp-arm…)

@BillyONeal @strega-nil-ms

@BillyONeal
Copy link
Member

libvpx regression baselined in #23011 is still under investigation, i hope.

I mean, we know what's wrong; unfortunately it isn't clear that there's anything we can do about it since it's Visual Studio itself generating the failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-bug The issue is with a library, which is something the port should already support info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[opencv4] Build error with feature cuda

5 participants