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

[eigen3] Update to 3.4.0 #19665

Merged
merged 8 commits into from
Feb 10, 2022
Merged

[eigen3] Update to 3.4.0 #19665

merged 8 commits into from
Feb 10, 2022

Conversation

spinicist
Copy link
Contributor

Describe the pull request

  • What does your PR fix?

    Updates Eigen to 3.4.0

  • Which triplets are supported/not supported? Have you updated the [CI baseline]

    all

  • 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

I think this is good to go but have opened it as a draft as it is my first time.

@ghost
Copy link

ghost commented Aug 20, 2021

CLA assistant check
All CLA requirements met.

@spinicist spinicist marked this pull request as ready for review August 20, 2021 13:47
@autoantwort
Copy link
Contributor

You can download the error logs here. If you hover over the items, there are tree dots on the right that you can click

@spinicist
Copy link
Contributor Author

You can download the error logs here. If you hover over the items, there are tree dots on the right that you can click

Okay, I took a look at the osx logs and for theia and openmvg these look like genuine regressions to me - they are build failures that reference Eigen. How does the chain of responsibility work here with vcpkg? I've never used those ports so I'm apprehensive about digging about in them.

(An aside: given how low-level Eigen is I'm actually impressed by how few breakages there are here. 3.3 -> 3.4 had some pretty big changes)

@Neumann-A
Copy link
Contributor

How does the chain of responsibility work here with vcpkg?

In generell, for a PR to be merge able CI needs to be green, so all ports which are not green needs to be fixed unless it is a baseline regressions like paraview on osx. (and paraview/vtk works on windows and linux so there is no issue there with eigen3) Sometimes it is just enough to bump the dependent port to a newer version or just report the failure upstream and hopefully they fix it in an timely manner so that the patch can easily be integrated here.

@strega-nil-ms
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ab60f27567ec24ab97289fb7a1d8455c74bcad04 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/e-/eigen3.json b/versions/e-/eigen3.json
index b353b69..093f111 100644
--- a/versions/e-/eigen3.json
+++ b/versions/e-/eigen3.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "51a0bcbf78726733fa51ad1aa15efbc2f55a499c",
+      "git-tree": "471f99d976ff3d1abd774c7d025c9f78dd4e4639",
       "version-string": "3.4.0",
       "port-version": 0
     },

@NancyLi1013 NancyLi1013 added the category:port-update The issue is with a library, which is requesting update new revision label Aug 23, 2021
ports/eigen3/vcpkg.json Outdated Show resolved Hide resolved
versions/e-/eigen3.json Outdated Show resolved Hide resolved
@JonLiu1993 JonLiu1993 linked an issue Aug 23, 2021 that may be closed by this pull request
@aluaces
Copy link
Contributor

aluaces commented Sep 7, 2021

@spinicist, would you mind to update your branch with those requested changes? Otherwise the process is blocked. Thanks!

@NancyLi1013
Copy link
Contributor

@spinicist, would you mind to update your branch with those requested changes? Otherwise the process is blocked. Thanks!

Thanks for your reminder. Since there is no response for a long time. I updated the changes just now.

@spinicist
Copy link
Contributor Author

Hello,

Thanks for picking this up. I have been on leave and have had a large amount to catch up on.

If I interpret the current build logs correctly, the problems with the regressions in other projects seem to have resolved?

@NancyLi1013
Copy link
Contributor

Hello,

Thanks for picking this up. I have been on leave and have had a large amount to catch up on.

If I interpret the current build logs correctly, the problems with the regressions in other projects seem to have resolved?

Yes, there is nothing else needs to be done now. Just wait for the CI test result. Thanks for your PR @spinicist.

@spinicist
Copy link
Contributor Author

Looks like those regressions in other projects are still there after all. Should I start reaching out to those projects to see if they have fixes that can be incorporated?

@NancyLi1013
Copy link
Contributor

Except for pangolin, other ports seem to be caused by the update. Could you please look into them?

@NancyLi1013
Copy link
Contributor

The failures caused by pangolin will be fixed by PR #20006.

@aluaces
Copy link
Contributor

aluaces commented Sep 8, 2021

I have taken a look and there are some errors that is not clear is they are eigen's fault or not. For example, I have submitted a question to eigen mailing list in order to know what the solution is for the one affecting openmvg.

Nevertheless, I find a bit difficult to point to the exact failing location of the errors in the automated builds above: if I click on each one I am redirected to an error summary, but it belongs to the whole process and doesn't detail the exact lines and snippets of code failing. Is there a way of seeing that instead of compiling it myself and watching the build logs?

@autoantwort
Copy link
Contributor

You can get the build logs: Click Below on Details -> next Page on View more details on Azure Pipelines -> then on 2 artifacts produced -> search the entry in the list -> hover over it -> click on the tree dots on the right -> click -> download

@spinicist
Copy link
Contributor Author

Thanks @aminya CI is running again now

@aminya
Copy link
Contributor

aminya commented Feb 8, 2022

Thanks @aminya CI is running again now

Whoohoo. 🎉 Everything passed. Should ask the maintainers to merge it.

@cenit
Copy link
Contributor

cenit commented Feb 8, 2022

@LilyWangLL PR is ready :)

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 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

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/eigen3/vcpkg.json
  • ports/openmvg/vcpkg.json
  • ports/rtabmap/vcpkg.json
  • ports/shogun/vcpkg.json
  • ports/theia/vcpkg.json

Valid values for the license field are listed at https://spdx.org/licenses/

@LilyWangLL
Copy link
Contributor

Thanks for everyone' work on this PR. I think the fix for ports which depend on eigen3 should synced to their upstream.

ports/eigen3/vcpkg.json Outdated Show resolved Hide resolved
ports/eigen3/vcpkg.json Outdated Show resolved Hide resolved
Co-authored-by: Alexander Neumann <[email protected]>
@aminya
Copy link
Contributor

aminya commented Feb 9, 2022

@spinicist You have to run this again. I wish the reviewers could set up a bot to do this automatically when someone uses GitHub to commit a suggested change.

./vcpkg x-add-version --overwrite-version --all

@JackBoosY
Copy link
Contributor

@aminya Bot may not have permission to push to contributor's branch.

@spinicist
Copy link
Contributor Author

Okay, CI is running again...

@spinicist
Copy link
Contributor Author

I think this is good to go? Finally? 🤞

@aminya
Copy link
Contributor

aminya commented Feb 9, 2022

I think this is good to go? Finally? 🤞

Can't wait for it! 🎉 This has been a blocker for C++ 20

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 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

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/eigen3/vcpkg.json
  • ports/openmvg/vcpkg.json
  • ports/rtabmap/vcpkg.json
  • ports/shogun/vcpkg.json
  • ports/theia/vcpkg.json

Valid values for the license field are listed at https://spdx.org/licenses/

@JackBoosY JackBoosY added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Feb 10, 2022
@spinicist
Copy link
Contributor Author

🎉🥳 Thanks everyone who helped/approved/was involved with this

@ras0219-msft
Copy link
Contributor

Thanks everyone that contributed to this solution!

If theia or shogun continue to cause maintenance issues in the future, we will strongly consider removing them to avoid similar delays.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[eigen] update to 3.4