Skip to content

[Release][Packaging] Address notes in vcpkg x64-windows-static build #45297

@amoeba

Description

@amoeba

Describe the bug, including details regarding any error messages, version, and platform.

During the vcpkg port update for Arrow 19.0.0, an issue with the x64-windows-static build was caught. From microsoft/vcpkg#43303 (comment),

Installing 98/98 arrow[acero,compute,core,csv,dataset,example,filesystem,flight,flightsql,gcs,json,mimalloc,orc,parquet,s3]:x64-windows-static@19.0.0...
Building arrow[acero,compute,core,csv,dataset,example,filesystem,flight,flightsql,gcs,json,mimalloc,orc,parquet,s3]:x64-windows-static@19.0.0...

...

-- Performing post-build validation
E:\arrow-19.0.0\ports\arrow\portfile.cmake: warning: binaries built by this port link with C RunTimes ("CRTs") inconsistent with those requested by the triplet and deployment structure. If the triplet is intended to only use the release CRT, you should add set(VCPKG_POLICY_ONLY_RELEASE_CRT enabled) to the triplet .cmake file. To suppress this check entirely, add set(VCPKG_POLICY_SKIP_CRT_LINKAGE_CHECK enabled) to the triplet .cmake if this is triplet-wide, or to portfile.cmake if this is specific to the port. You can inspect the binaries with: dumpbin.exe /directives mylibfile.lib
E:\arrow-19.0.0\packages\arrow_x64-windows-static: note: the binaries are relative to ${CURRENT_PACKAGES_DIR} here
note: The following binaries should link with only: Static Debug (/MTd)
note: debug/lib/arrow_bundled_dependencies.lib links with: Dynamic Debug (/MDd)
note: The following binaries should link with only: Static Release (/MT)
note: lib/arrow_bundled_dependencies.lib links with: Dynamic Release (/MD)
E:\arrow-19.0.0\ports\arrow\portfile.cmake: warning: Found 1 post-build check problem(s). These are usually caused by bugs in portfile.cmake or the upstream build system. Please correct these before submitting this port to the curated registry.

...

We'll have to address these to update vcpkg for 19.0.0.

cc @kou @assignUser @raulcd

Tasks:

  • Add a temporary patch to our vcpkg port
  • Refactor this part of the build to FetchContent in Arrow >=20.0.0
  • Remove the patch from the vcpkg port once the once the FetchContent refactor is done

Component(s)

Release, Packaging

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions