Package Details: vcpkg 2024.06.10-1

Git Clone URL: https://aur.archlinux.org/vcpkg.git (read-only, click to copy)
Package Base: vcpkg
Description: C++ library manager
Upstream URL: https://github.com/microsoft/vcpkg-tool
Licenses: MIT
Conflicts: vcpkg
Provides: vcpkg
Submitter: pacifi5t
Maintainer: pacifi5t
Last Packager: pacifi5t
Votes: 3
Popularity: 0.66
First Submitted: 2022-03-18 19:41 (UTC)
Last Updated: 2024-06-11 09:05 (UTC)

Pinned Comments

pacifi5t commented on 2024-06-11 09:20 (UTC) (edited on 2024-06-11 09:23 (UTC) by pacifi5t)

Because of the recent issues with installing some packages, this package only provides the vcpkg executable from now on. Please follow the post-install instructions to set the VCPKG_ROOT environment variable and clone the vcpkg git repository. The default value for this variable is $HOME/.local/share/vcpkg.

Note: DO NOT set VCPKG_ROOT to any directory inside /usr or /opt!

Latest Comments

1 2 Next › Last »

pacifi5t commented on 2024-06-11 09:20 (UTC) (edited on 2024-06-11 09:23 (UTC) by pacifi5t)

Because of the recent issues with installing some packages, this package only provides the vcpkg executable from now on. Please follow the post-install instructions to set the VCPKG_ROOT environment variable and clone the vcpkg git repository. The default value for this variable is $HOME/.local/share/vcpkg.

Note: DO NOT set VCPKG_ROOT to any directory inside /usr or /opt!

pacifi5t commented on 2024-05-28 19:54 (UTC)

/var/cache isn't supposed to be used for such things, according to FHS, even though Arch Packaging Guidelines do not forbid doing that.

The options you mentioned are experimental, so they aren't an alternative.

hypo commented on 2024-05-28 00:08 (UTC) (edited on 2024-05-28 00:09 (UTC) by hypo)

$HOME wont work in multiuser setup, however i'm currently use it.

Maybe place it in /var/lib?

I think the best way would be to keep it in /usr/lib and move buildtrees, packages, installed to /var/cache/vcpkg, but vcpkg currently doesn't have an options (Environment Variables) to specify this.

Yes there is --x-buildtrees-root=<path>, --x-install-root=<path>, --x-packages-root=<path> (https://learn.microsoft.com/en-us/vcpkg/commands/common-options#buildtrees-root), but there is no way to specify them globally in a way which all IDEs (VSCode) will understand them.

pacifi5t commented on 2024-05-27 22:50 (UTC) (edited on 2024-05-27 23:02 (UTC) by pacifi5t)

@hypo Moving vcpkg to /usr/lib was supposed to fix another build issue caused by vcpkg's root being /opt/vcpkg. Check out this issue: https://github.com/microsoft/vcpkg/issues/38522.

I think the only correct way to distribute this is to package only the vcpkg executable and place the root in the user's directory or something. That's how Fedora and Homebrew do it. They prefer using $HOME/.local/share/vcpkg, but you can put it anywhere by setting VCPKG_ROOT.

hypo commented on 2024-05-27 20:44 (UTC)

Looks like moving vcpkg to /usr/lib was a bad idea, because it breaks some package targets file generation.

For example, Catch2 can't be used with this error message:

CMake Error at /usr/lib/vcpkg/installed/x64-linux/share/catch2/Catch2Targets.cmake:103 (message):
  The imported target "Catch2::Catch2" references the file

     "/usr/lib/debug/lib/libCatch2d.a"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/vcpkg/installed/x64-linux/share/catch2/Catch2Targets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/vcpkg/installed/x64-linux/share/catch2/Catch2Config.cmake:44 (include)
  /usr/lib/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
  CMakeLists.txt:56 (find_package)

The problem is in CMake, when packages installed in -https://github.com/Kitware/CMake/blob/ffa5d7d497e9e6e6a39bcdba328a8b8a712d9f04/Source/cmExportInstallFileGenerator.cxx#L229 - one of these prefixes it generates additional logic which cause error above - CMake tries to find libraries using wrong prefixes.

pacifi5t commented on 2023-11-30 16:31 (UTC)

@petronny It builds sucessfully, but it doesn't work unless you set VCPKG_FORCE_SYSTEM_BINARIES=1 in your environment as well. I think I can fix this easily.

petronny commented on 2023-11-27 15:28 (UTC)

Exporting VCPKG_FORCE_SYSTEM_BINARIES=1 somewhere in the PKGBUILD works.

pacifi5t commented on 2023-11-22 17:18 (UTC)

@petronny Thank you for notifying me about the issue. I'll test the possible patch on the Raspberry Pi shortly.

petronny commented on 2023-11-22 15:35 (UTC) (edited on 2023-11-22 15:35 (UTC) by petronny)

Build failed on aarch64:

 Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm, s390x, ppc64le and riscv platforms.
==> ERROR: A failure occurred in build().
    Aborting...

https://github.com/arch4edu/cactus/actions/runs/6957553344/job/18930675352

lilgeek commented on 2022-09-23 21:34 (UTC) (edited on 2022-09-23 21:35 (UTC) by lilgeek)

Also there should be a note somewhere here on the aur page for that vcpkg group that I have to be in to use vcpkg without sudo because otherwise people will just use it with sudo which is not advised.