microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
21.76k stars 6.05k forks source link

[boost] build failure #38487

Closed SKNo closed 1 week ago

SKNo commented 2 weeks ago

Operating system

Windows

Compiler

MSVC

Steps to reproduce the behavior

git pull
vcpkg upgrade --no-dry-run

Failure logs

error: The control or manifest file for boost-vcpkg-helpers could not be loaded due to the following error. Please remove boost-vcpkg-helpers and try again.)
E:\Lib\vcpkg\ports\boost-vcpkg-helpers: error: boost-vcpkg-helpers dies not exist

Additional context

It happend after git pull (including the latest version of boost)

Neumann-A commented 2 weeks ago

boost-vcpkg-helpers has been removed. Be aware that vcpkg upgrade is not really a supported command since it is not transactional

SKNo commented 2 weeks ago

@Neumann-A I am confused : what would be the command to upgrade all updated softwares and their dependencies after a git pull Thank you

Neumann-A commented 2 weeks ago

Either use a manifest which automatically rebuilds everything (and deletes as needed) or delete your installed tree manually and rebuild everything manually. vcpkg upgrade is not transactional; it just exists for historic reasons.

SKNo commented 2 weeks ago

Thank you @Neumann-A I've always looked at vcpkg upgrade as a usefull one-liner similar to conda update --all Is there an example for such a manifest or should I go through documentations? Thanks again

Neumann-A commented 2 weeks ago

Is there an example for such a manifest or should I go through documentations?

Manifest is just a vcpkg.json. All ports have such a file. For usage having only the dependencies field is theoretical enough. You can use --x-manifest-root=<manifest-dir> if you do not want to have the manifest in the same directory as vcpkg.

LilyWangLL commented 1 week ago

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.