apache / apache/arrow

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

Open
#45,297 8 comments 0 reactions 1 assignee Claimed by @amoeba View on GitHub
Component: Packaging Component: Release Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### 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 https://github.com/microsoft/vcpkg/pull/43303#issuecomment-2597509506,

```
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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.