Skip to content

Conversation

@vask2108
Copy link
Contributor

@vask2108 vask2108 commented Sep 8, 2025

Fixes issues :
boostorg/boost#1070
#296
Related to PR: boostorg/boost#1077

@vask2108
Copy link
Contributor Author

vask2108 commented Sep 9, 2025

@olk

Can you please review this PR.

Thank you.

@vask2108
Copy link
Contributor Author

@olk
This re-using existing asm files for windows arm64 appears help only to build not during testing. I am working on alternate solution. I will update this PR soon.

Thank you.

@vask2108
Copy link
Contributor Author

@olk
This PR is ready for review now and my latest changes are here this commit
4aa65ee

Thank you.

@vask2108 vask2108 force-pushed the feature/windows-arm64-libs-context-changes branch from 4aa65ee to 44967e5 Compare September 11, 2025 15:31
@Greenie0701
Copy link
Contributor

@vask2108 I have few doubts with respect to this PR. I know that boost context library fails to compile on Windows ARM64 even we are using winfiber implementation without disabling coroutine. IIRC, they were related missing symbol errors 'fcontext' export symbols. Where you able fix that ?

@vask2108
Copy link
Contributor Author

vask2108 commented Sep 19, 2025

@Greenie0701
No. I did get any coroutine related build failure. If you see the main PR boostorg/boost#1077, It has got build passing. I am happy to looking any issue, if there is one. Thank you.

@Greenie0701
Copy link
Contributor

Greenie0701 commented Sep 19, 2025

I think the build failures only occur when building Context as a standalone library, not when it’s built as a Boost subpackage. This seems to be a separate issue specific to Windows ARM64 and shouldn’t block this PR from being merged.

@vask2108
Copy link
Contributor Author

@Greenie0701
Thank you. I understand @olk is the maintainer and waiting for the review to take place :-)

@olk
Copy link
Member

olk commented Sep 23, 2025

Did you run the unit tests?

@vask2108
Copy link
Contributor Author

@olk
I assume you are taking about b2 -j3 libs/context/test?
Yes. There are passing in the CI and also my local device .
If you enable work flows in this PR. I am hoping there should pass. If any issues, I am happy to fix

Thank you.

@vask2108 vask2108 force-pushed the feature/windows-arm64-libs-context-changes branch from 44967e5 to 462cb28 Compare September 23, 2025 19:40
Currently we do not have fcontext related ASM files for Windows ARM64.
So we can use winfib context-impl only for Windows ARM64.

Fixes issue : boostorg/boost#1070
Related to PR: boostorg/boost#1077
@vask2108 vask2108 force-pushed the feature/windows-arm64-libs-context-changes branch from 462cb28 to 68ea30d Compare September 23, 2025 19:44
@vask2108
Copy link
Contributor Author

@olk
I have rebased with latest merge. If you are happy, please enable the workflows to test.

Thank you.

@olk olk self-requested a review September 24, 2025 06:23
@olk olk merged commit 230d5fe into boostorg:develop Sep 24, 2025
22 of 26 checks passed
@olk
Copy link
Member

olk commented Sep 24, 2025

ty

kou pushed a commit to apache/arrow that referenced this pull request Oct 23, 2025
### Rationale for this change

This PR adds a CI job to test building the C++ library on Windows ARM64 with MSVC, which will help ensuring that downstream projects like [`vcpkg`](https://github.com/microsoft/vcpkg) can build Arrow C++ on that platform.

### What changes are included in this PR?

- The `windows` job from the `cpp.yml` workflow has been moved into a reusable workflow `cpp_windows.yml`
- Use GitHub hosted runner `windows-11-arm` to build with MSVC ARM64 in `cpp_extra.yml`
- `simd-level` is set `NONE` for now as xsimd does not yet support MSVC ARM64
- `msys2` is installed and used for the timezone data, as it is not guaranteed to exist on `windows-11-arm` images
- A recent version of `cmake` is installed as support for finding Windows OpenSSL ARM64 builds was only added in 4.1.0 (see Kitware/CMake@bf52219)
- The Boost context implementation is set to `winfib` when building with MSVC ARM64 as it's the only supported implementation for that platform (see boostorg/context#296 (comment) and boostorg/context#315)

### Are these changes tested?

Yes, in the CI itself

### Are there any user-facing changes?

No
* GitHub Issue: #47196

Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
### Rationale for this change

This PR adds a CI job to test building the C++ library on Windows ARM64 with MSVC, which will help ensuring that downstream projects like [`vcpkg`](https://github.com/microsoft/vcpkg) can build Arrow C++ on that platform.

### What changes are included in this PR?

- The `windows` job from the `cpp.yml` workflow has been moved into a reusable workflow `cpp_windows.yml`
- Use GitHub hosted runner `windows-11-arm` to build with MSVC ARM64 in `cpp_extra.yml`
- `simd-level` is set `NONE` for now as xsimd does not yet support MSVC ARM64
- `msys2` is installed and used for the timezone data, as it is not guaranteed to exist on `windows-11-arm` images
- A recent version of `cmake` is installed as support for finding Windows OpenSSL ARM64 builds was only added in 4.1.0 (see Kitware/CMake@bf52219)
- The Boost context implementation is set to `winfib` when building with MSVC ARM64 as it's the only supported implementation for that platform (see boostorg/context#296 (comment) and boostorg/context#315)

### Are these changes tested?

Yes, in the CI itself

### Are there any user-facing changes?

No
* GitHub Issue: apache#47196

Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants