Skip to content

Struggling with differences in abi_info and build failures with binarycaching #16615

@meastp

Description

@meastp

I am trying to use vcpkg for building in Azure Pipelines (CI, Microsoft Hosted Agent windows-2019 and vs2017-win2016) and to be able to reuse the binary packages produced on my dev machine.

Everything except two packages compile successfully in Azure, but the binary package hashes are different. The two packages that fail (libpq and ocilib, with an error about corrupt patch) does compile successfully on my dev machine.

Here is an example from the abi_info on ocilib:

Dev machine (builds ok):

CONTROL 9241a03e2bb576c99b871f63a5b0c8b2ed4c2a95
cmake 3.19.2
features core
portfile.cmake 0657a4f80fd0e53da0ec80d0aa805ad7f53211ae
post_build_checks 2
powershell 7.1.1
triplet x64-windows-v141
triplet_abi 3e1e1ba8308fbe92aa7777d17951828b7098c537-a1c0eabb0c5177b6a8fb97a58ae398880c47b352-b9e2480dca17932aec14cc7258376a7b281aa769
vcpkg_configure_make e1a003f885d4091e1e3fab0f82be37ab3d8d88a7
vcpkg_fail_port_install 69f61f498784f900b570c22b1e8bee2ca8995840
vcpkg_from_git 99e83c6ffac2dd07afaf73d795988ca5dec2dc8b
vcpkg_from_github a9dd1453b8873c9702731c6c36e79fb0ab6ae486
vcpkg_install_make 6b7345be4d3363747f6d75839e87d441025f04d5
vcpkg_install_msbuild b1f007c6cc36e1fb840cba9ee18057b3a8d648e6

CI (build fails):

CONTROL 9241a03e2bb576c99b871f63a5b0c8b2ed4c2a95
cmake 3.19.5
features core
portfile.cmake 0657a4f80fd0e53da0ec80d0aa805ad7f53211ae
post_build_checks 2
powershell 7.1.2
triplet x64-windows-v141
triplet_abi ed6353d74e9e730073fb23380c6237636df93252-a1c0eabb0c5177b6a8fb97a58ae398880c47b352-b9e2480dca17932aec14cc7258376a7b281aa769
vcpkg_configure_make e1a003f885d4091e1e3fab0f82be37ab3d8d88a7
vcpkg_fail_port_install 69f61f498784f900b570c22b1e8bee2ca8995840
vcpkg_from_git 99e83c6ffac2dd07afaf73d795988ca5dec2dc8b
vcpkg_from_github a9dd1453b8873c9702731c6c36e79fb0ab6ae486
vcpkg_install_make 6b7345be4d3363747f6d75839e87d441025f04d5
vcpkg_install_msbuild b1f007c6cc36e1fb840cba9ee18057b3a8d648e6

I see that these are different:

  • cmake patch version
  • powershell patch version
  • the first part of triplet_abi

I'm hoping that patch versions don't affect the binary hash version of the binary packages?

Could you explain the last difference (triplet_abi)? I would like to produce binary packages that I can reuse between machines, and (obviously) successfully build libpq and ocilib in Azure.

Metadata

Metadata

Labels

category:vcpkg-bugThe issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions