Skip to content

[vcpkg-tool] vcpkg tool incorrectly flags architecture warning for unified builds #25295

@simtind

Description

@simtind

Describe the bug
When building for unified (fat) binaries on MacOS, vcpkg-tool's post-build architecture check incorrectly flags a warning about all libraries having been built with the wrong architecture.

Environment

  • OS: MacOS 11.6
  • Compiler: XCode 12.4

To Reproduce
With the following triplet available as arm64-x64-osx:

# Creates unified MacOS binaries supporting both Arm64 and Intel X64 processors.
set(VCPKG_TARGET_ARCHITECTURE x86_64 arm64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)

set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES x86_64 arm64)
  1. ./vcpkg install bzip2:arm64-x64-osx
  2. vcpkg produces the warning: Expected x86_64;arm64, but was: x86_64 arm64

Expected behavior
vcpkg-tool should not warn for correctly built binaries. Looks like a string split is missing.

Failure logs

Installing 82/88 bzip2:arm64-x64-osx...
Building bzip2[core]:arm64-x64-osx...
-- [OVERLAY] Loading triplet configuration from: /opt/vcpkg_git/vcpkg-overlay-ports/triplets/arm64-x64-osx.cmake
-- Downloading https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz -> bzip2-1.0.8.tar.gz...
-- Cleaning sources at /Users/buran_ci/vcpkg/buildtrees/bzip2/src/bzip2-1-336d4794a3.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /Users/buran_ci/vcpkg/downloads/bzip2-1.0.8.tar.gz
-- Applying patch fix-import-export-macros.patch
-- Using source at /Users/buran_ci/vcpkg/buildtrees/bzip2/src/bzip2-1-336d4794a3.clean
-- Found external ninja('1.10.2').
-- Configuring arm64-x64-osx-dbg
-- Configuring arm64-x64-osx-rel
-- Building arm64-x64-osx-dbg
-- Building arm64-x64-osx-rel
-- Fixing pkgconfig file: /Users/buran_ci/vcpkg/packages/bzip2_arm64-x64-osx/lib/pkgconfig/bzip2.pc
-- Fixing pkgconfig file: /Users/buran_ci/vcpkg/packages/bzip2_arm64-x64-osx/debug/lib/pkgconfig/bzip2.pc
-- Installing: /Users/buran_ci/vcpkg/packages/bzip2_arm64-x64-osx/share/bzip2/copyright
-- Performing post-build validation
The following files were built for an incorrect architecture:
    /Users/buran_ci/vcpkg/packages/bzip2_arm64-x64-osx/debug/lib/libbz2d.a
Expected x86_64;arm64, but was: x86_64 arm64
    /Users/buran_ci/vcpkg/packages/bzip2_arm64-x64-osx/lib/libbz2.a
Expected x86_64;arm64, but was: x86_64 arm64
Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile:
    /Users/buran_ci/vcpkg/ports/bzip2/portfile.cmake
-- Performing post-build validation done

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

Labels

Stalecategory: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