WillAyd commented on code in PR #47282:
URL: https://github.com/apache/arrow/pull/47282#discussion_r2263252445
##########
.github/workflows/cpp_extra.yml:
##########
@@ -166,3 +166,73 @@ jobs:
ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
continue-on-error: true
run: archery docker push ${{ matrix.image }}
+
+ meson-windows:
+ needs: check-labels
+ name: ${{ matrix.title }}
+ runs-on: ${{ matrix.runs-on }}
+ if: needs.check-labels.outputs.ci-extra == 'true'
+ timeout-minutes: 75
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - runs-on: windows-2022
+ title: AMD64 Windows Meson
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download Timezone Database
+ shell: bash
+ run: ci/scripts/download_tz_database.sh
+ - name: Install ccache
+ shell: bash
+ run: |
+ ci/scripts/install_ccache.sh 4.6.3 /usr
+ - name: Setup ccache
+ shell: bash
+ run: |
+ ci/scripts/ccache_setup.sh
+ - name: ccache info
+ id: ccache-info
+ shell: bash
+ run: |
+ echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT
+ - name: Cache ccache
+ uses: actions/cache@v4
+ with:
+ path: ${{ steps.ccache-info.outputs.cache-dir }}
+ key: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-${{
hashFiles('cpp/**') }}
+ restore-keys: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-
+ env:
+ # We can invalidate the current cache by updating this.
+ CACHE_VERSION: "2022-09-13"
+ - name: Setup Python
+ uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 #
v5.6.0
+ with:
+ python-version: 3
+ - name: Install Meson
+ run: |
+ python3 -m pip install meson
+ - name: Build
+ shell: cmd
+ env:
+ ARROW_USE_MESON: ON
+ ARROW_HOME: C:\arrow-dist
+ run: |
+ echo %PATH%
+ call "C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
+ echo %PATH%
+ dir "C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64"
+ bash -c "ci/scripts/cpp_build.sh $(pwd) $(pwd)/build ${{
matrix.run-options || '' }}"
Review Comment:
I believe the current error has to do with the fact that calling `bash -c
link ..." invokes the linker that comes bundled with bash, and not the linker
that the vcvarsall.bat script is supposed to activate. You can reproduce this
locally:
```cmd
> link /help
Microsoft (R) Incremental Linker Version 14.44.35214.0
Copyright (C) Microsoft Corporation. All rights reserved.
For help on Linker, type `link /link' or `link'
For help on Library Manager, type `link /lib' or `lib'
For help on Dumper, type `link /dump' or `dumpbin'
For help on Editor, type `link /edit' or `editbin'
For help on CvtCIL, type `link /cvtcil'
For help on PushThunkObj Generator, type `link /pushthunkobj'
> bash -c "link /help"
link: missing operand after ‘/help’
Try 'link --help' for more information.
> bash -c "link --help"
Usage: link FILE1 FILE2
or: link OPTION
Call the link function to create a link named FILE2 to an existing FILE1.
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/link>
or available locally via: info '(coreutils) link invocation'
```
I guess the current CMake configuration doesn't care about this, although it
makes sense for Meson to be suspect of this environment.
Maybe its worth creating a separate `cpp_build.bat` script for Windows
platforms to use? What do you think @kou ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]