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

Version database consistency fixes 20240313 #37410

Conversation

WangWeiLin-MV
Copy link
Contributor

@WangWeiLin-MV WangWeiLin-MV commented Mar 13, 2024

In Manifest mode with builtin-baseline, some ports failed to install.
And there are some errors checked by vcpkg x-ci-verify-versions --verify-git-trees.

Changes

Port update

  • [velodyne-decoder] Fix error with no version database entry

Version baseline

Version database

  • [septag-sx] Delete broken entries in version database for mismatched port names at version 2019-05-07 (Renamed at [septag-sx] Add new port #6327 and added version at [vcpkg] Add version files #15652)
  • [theia] Reset theia@0.8#10 to synchronize the fixes and changes in ports/theia (Changed at 5db5459)
  • [theia] Restore git-tree for theia@0.8#9
  • [try-catcher] Remove non-existent versions that should not be added (Added at 8c91c8d)

Reference

Command vcpkg x-ci-verify-versions in microsoft/vcpkg-tool#1210.

Quotes from #34078

Under normal circumstances, things can't be removed from the version database, because that breaks outstanding references to those versions. However, these entries can't be parsed in the first place which means nobody can be depending on them being there.

@WangWeiLin-MV WangWeiLin-MV added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels Mar 13, 2024
@jimwang118 jimwang118 added category:code-cleanup This PR cleans up code, without fixing any existing bugs nor adding any features. and removed category:port-bug The issue is with a library, which is something the port should already support labels Mar 13, 2024
@WangWeiLin-MV WangWeiLin-MV marked this pull request as ready for review March 13, 2024 10:40
@BillyONeal
Copy link
Member

In Manifest mode with builtin-baseline, 4 ports failed to install. May be related to microsoft/vcpkg-tool#1210

  • [velodyne-decoder] Fix error with no version database entry

I agree

PS D:\vcpkg> D:\vcpkg-tool\out\build\Win-x64-Debug-WithArtifacts\vcpkg.exe x-ci-verify-versions --verify-git-trees
D:\vcpkg\ports\velodyne-decoder\vcpkg.json: error: the "version>=" constraint to yaml-cpp names version 0.7 which does not exist in the version database. All versions must exist in the version database to be interpreted by vcpkg.
D:\vcpkg\versions\y-\yaml-cpp.json: note: consider removing the version constraint or choosing a value declared here
  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

👍 Maybe I should add this to ci-verify-versions...

@BillyONeal
Copy link
Member

D:\vcpkg\versions\s-\septag-sx.json: error: b9e21c1d4135ab98fcecc9970d8520afb9b39743 is declared to contain septag-sx@2019-04-27, but appears to contain sx@2019-04-27
D:\vcpkg\versions\t-\theia.json: error: 244b1ee4928a23a5394691a642a1b56125198228 is declared to contain theia@0.8#10, but appears to contain theia@0.8#9
D:\vcpkg\versions\t-\try-catcher.json: error: failed to execute: "C:\Program Files\Git\cmd\git.exe" "--git-dir=D:\vcpkg\.git" "--work-tree=D:\vcpkg\buildtrees\versioning_\versions\try-catcher\df67c1225008bf10a22e3da1aa5a27a42e38e223_27780.tmp" -c core.autocrlf=false read-tree -m -u df67c1225008bf10a22e3da1aa5a27a42e38e223
error: git failed with exit code: (128).
fatal: failed to unpack tree object df67c1225008bf10a22e3da1aa5a27a42e38e223
note: while checking out port try-catcher with git tree df67c1225008bf10a22e3da1aa5a27a42e38e223
note: while validating version: 1.0.0

Can you fix these while you're here?

@WangWeiLin-MV
Copy link
Contributor Author

  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

The boost versioning scheme has changed from version-string to version after 1.76.0 #17335, and in versioning constraint, version is not comparable to the previously.

error: version conflict on boost-predef:x64-windows: alpaka:x64-windows@1.1.0 required 1.74.0, which cannot be compared with the baseline version 1.84.0.

The versions have incomparable schemes:
  boost-predef@1.84.0 has scheme relaxed
  boost-predef@1.74.0 has scheme string

@WangWeiLin-MV
Copy link
Contributor Author

WangWeiLin-MV commented Mar 14, 2024

Can you fix these while you're here?

Here are the causes and fixes.


vcpkg\versions\s-\septag-sx.json: error: b9e21c1d4135ab98fcecc9970d8520afb9b39743 is declared to contain septag-sx@2019-04-27, but appears to contain sx@2019-04-27

At #6327 2019-05-07, port was added and be renamed from sx to septag-sx on ports/septag-sx/CONTROL, then added version at #15652 with old git-tree hash.

This is a broken entry to begin with, so deleted it.


vcpkg\versions\t-\theia.json: error: 244b1ee4928a23a5394691a642a1b56125198228 is declared to contain theia@0.8#10, but appears to contain theia@0.8#9

Port updated to 0.8#10 at 5db5459, but the port-version is not increased in theia/vcpkg.json, and git-tree incorrectly modified in history database for 0.8#9

Because there is no theia@0.8#10 in its history database. so, reset to re-update the entry of 0.8#10 to synchronize the fixes and changes in ports/theia,
And, restored git-tree hash in version history for 0.8#9.


vcpkg\versions\t-\try-catcher.json: error

The new port added an non-existent version entry at 8c91c8d, just delete it.

@jimwang118 jimwang118 added the info:reviewed Pull Request changes follow basic guidelines label Mar 14, 2024
@BillyONeal
Copy link
Member

  • [alpaka] Fix version conflict on boost-predef

Can you explain what this means?

The boost versioning scheme has changed from version-string to version after 1.76.0 #17335, and in versioning constraint, version is not comparable to the previously.

error: version conflict on boost-predef:x64-windows: alpaka:x64-windows@1.1.0 required 1.74.0, which cannot be compared with the baseline version 1.84.0.

The versions have incomparable schemes:
  boost-predef@1.84.0 has scheme relaxed
  boost-predef@1.74.0 has scheme string

This is true, but it isn't a statement that alpaka needs to change. It just means that people who want aplaka and other things that care about boost version need to pick the one they want with an override.

This change as proposed blocks people who want to use Boost 1.74.

@WangWeiLin-MV
Copy link
Contributor Author

This is true, but it isn't a statement that alpaka needs to change. It just means that people who want aplaka and other things that care about boost version need to pick the one they want with an override.

This change as proposed blocks people who want to use Boost 1.74.

Thanks for the explanation, I will remove the changes to keep the constraint "version>=": "1.74.0"
https://github.com/alpaka-group/alpaka?tab=readme-ov-file#dependencies

Boost 1.74.0+ is the only mandatory external dependency.

@WangWeiLin-MV WangWeiLin-MV force-pushed the version-database/consistency-20240313 branch from 27a466b to 90dc203 Compare March 15, 2024 03:20
@BillyONeal BillyONeal merged commit ff75eac into microsoft:master Mar 16, 2024
16 checks passed
@BillyONeal
Copy link
Member

Thank you! :D

@WangWeiLin-MV WangWeiLin-MV deleted the version-database/consistency-20240313 branch March 18, 2024 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:code-cleanup This PR cleans up code, without fixing any existing bugs nor adding any features. info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants