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

Let vcpkg install check only the relevant ports instead of all #24302

Closed
playgithub opened this issue Apr 21, 2022 · 6 comments · Fixed by microsoft/vcpkg-tool#516
Closed

Let vcpkg install check only the relevant ports instead of all #24302

playgithub opened this issue Apr 21, 2022 · 6 comments · Fixed by microsoft/vcpkg-tool#516
Assignees
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)

Comments

@playgithub
Copy link
Contributor

playgithub commented Apr 21, 2022


Problem

e.g.

  1. private port "libabc" in git branch branch-abc
  2. git switch branch-abc
  3. vcpkg install libabc
  4. git switch master
  5. vcpkg install zlib, error as below
    Computing installation plan...
    Error: while loading libabc:
    The port directory (<vcpkg-root>\ports\libabc) does not exist
    Error: failed to load port from <vcpkg-root>\ports\libabc
    note: updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure.

Proposed solution
vcpkg install checks only relevant ports.

If vcpkg install check all ports, it'll be less convenient when do PR in a new branch, because when testing, the same error above will occur. There are solutions, but not necessary when vcpkg install check only relevant ports.

Additional context
#24259

@playgithub playgithub changed the title vcpkg install checks only relevant ports instead of all Let vcpkg install checks only relevant ports instead of all Apr 21, 2022
@playgithub playgithub changed the title Let vcpkg install checks only relevant ports instead of all Let vcpkg install check only the relevant ports instead of all Apr 21, 2022
@Neumann-A
Copy link
Contributor

this is a duplicate of another issue. Unable to find it currently.

@JackBoosY JackBoosY added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed and removed category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist labels Apr 22, 2022
@JackBoosY
Copy link
Contributor

The reason for this issue is that we need to first analyze all ports and build a dependency graph, and judge the installation order according to the graph.

@dg0yt
Copy link
Contributor

dg0yt commented Apr 22, 2022

The reason for this issue is that we need to first analyze all ports and build a dependency graph, and judge the installation order according to the graph.

Right, vcpkg must at least know when to remove an orphan port due to removed dependencies. And without the build recipe, the port would also block upgrades.
But at least some operations could continue. Installing an independent port might work as well as does removing the orphan port.

@playgithub
Copy link
Contributor Author

playgithub commented Apr 22, 2022

The reason for this issue is that we need to first analyze all ports and build a dependency graph, and judge the installation order according to the graph.

What about ignore the missing libs when building the dependency graph?

@Neumann-A
Copy link
Contributor

Feel free to comment on microsoft/vcpkg-tool#516

@Neumann-A
Copy link
Contributor

duplicate to #15836

@JackBoosY JackBoosY added category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) and removed category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed labels Apr 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants