Skip to content

require exact version match for CMake and PowerShell#223

Closed
Be-ing wants to merge 2 commits intomicrosoft:mainfrom
Be-ing:cmake_version
Closed

require exact version match for CMake and PowerShell#223
Be-ing wants to merge 2 commits intomicrosoft:mainfrom
Be-ing:cmake_version

Conversation

@Be-ing
Copy link
Copy Markdown

@Be-ing Be-ing commented Oct 20, 2021

CMake is included in the ABI info, so an exact version match is required
for binary caching to work for sharing a cache between machines with
different environments. Refer to the comment in the code for more
details.

CMake is included in the ABI info, so an exact version match is required
for binary caching to work for sharing a cache between machines with
different environments. Refer to the comment in the code for more
details.
@Be-ing Be-ing force-pushed the cmake_version branch 2 times, most recently from 117fa03 to c38abb1 Compare October 24, 2021 18:25
It is also included in the ABI info, not just CMake.
@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Oct 24, 2021

Is this an acceptable fix for ABI info mismatches between servers and developers' machines? An alternative would be removing the CMake and PowerShell versions from the ABI info, but I presume you had some reason to add them in the first place.

@Neumann-A
Copy link
Copy Markdown
Contributor

Hmm I wish there were a switch to disable CMake and PowerShell Abi tracking.

@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Oct 26, 2021

I think adding yet another option would be a bad way to solve this. It is already necessary to disable compiler tracking to make binary caching somewhat usable. Users shouldn't need to figure out they need to switch two options away from the default to make binary caching usable. If it is permissible to not track the CMake and PowerShell versions then I think it simply shouldn't be done without having an option.

@Osyotr
Copy link
Copy Markdown
Contributor

Osyotr commented Nov 1, 2021

I can understand why CMake version is tracked, but why is PowerShell? I very much like the idea of having a switch to disable ABI tracking for these tools.

@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Nov 2, 2021

I think adding another option would be the worst way this could be solved.

I can understand why CMake version is tracked

Can you explain? I don't understand what that has to do with ABI.

@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Nov 2, 2021

Could a maintainer please take a look at this? This is holding back Mixxx from switching from vcpkg archive to manifest mode, which we are trying to use so we can run Qt5 and Qt6 builds on the same branch while we transition to Qt6.

@Osyotr
Copy link
Copy Markdown
Contributor

Osyotr commented Nov 2, 2021

Can you explain? I don't understand what that has to do with ABI.

You are right, it does not. My guess is that it has something to do with how library is consumed (config file generated for specific version etc.)

@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Nov 10, 2021

Pinging on this again. We have had several new contributors trying to build Mixxx on ARM macOS but not succeeding with the legacy vcpkg archive setup. We have had success building with vcpkg manifest mode on ARM macOS, but we cannot merge support for manifest mode until this issue with binary caching is resolved. We can't risk turning away new contributors because they have to spend hours building a huge dependency graph because vcpkg misses the cache.

@Be-ing Be-ing changed the title require exact version match for CMake require exact version match for CMake and PowerShell Nov 10, 2021
@Be-ing
Copy link
Copy Markdown
Author

Be-ing commented Nov 15, 2021

Superseded by #234

@Be-ing Be-ing closed this Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants