Skip to content

Conversation

@avertleyb
Copy link

No description provided.

@github-actions
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW

Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename pull request title in the following format?

ARROW-${JIRA_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@avertleyb avertleyb changed the title Fixing build/unit test issues in msvc/win32 (ARROW-16778) ARROW-16778: [cpp] Fixing build/unit test issues in msvc/win32 (ARROW-16778) Jun 13, 2022
@github-actions
Copy link

@github-actions
Copy link

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@kou kou changed the title ARROW-16778: [cpp] Fixing build/unit test issues in msvc/win32 (ARROW-16778) ARROW-16778: [C++] Fix build/unit test issues in msvc/win32 Jun 13, 2022
Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also add a CI job for building 32bit binaries with Visual C++?

The following patch will work:

diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml
index 82e99160c3..6eb2213c93 100644
--- a/.github/workflows/cpp.yml
+++ b/.github/workflows/cpp.yml
@@ -192,12 +192,15 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os:
-          - windows-2019
         include:
           - os: windows-2019
-            name: Windows 2019
+            name: Windows 2019 x64
             generator: Visual Studio 16 2019
+            platform: x64
+          - os: windows-2019
+            name: Windows 2019 Win32
+            generator: Visual Studio 16 2019
+            platform: Win32
     env:
       ARROW_BOOST_USE_SHARED: OFF
       ARROW_BUILD_BENCHMARKS: ON
@@ -222,7 +225,7 @@ jobs:
       ARROW_WITH_ZLIB: ON
       ARROW_WITH_ZSTD: ON
       BOOST_SOURCE: BUNDLED
-      CMAKE_ARGS: '-A x64 -DOPENSSL_ROOT_DIR=C:\Program Files\OpenSSL-Win64'
+      CMAKE_ARGS: '-A ${{ matrix.platform }} -DOPENSSL_ROOT_DIR=C:\Program Files\OpenSSL-Win64'
       CMAKE_GENERATOR: ${{ matrix.generator }}
       CMAKE_INSTALL_LIBDIR: bin
       CMAKE_INSTALL_PREFIX: /usr

Comment on lines 72 to 73
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure which is better for performance but it seems that we can use bit operations to split uint64_t value to uint32_t values:

  return ARROW_POPCOUNT32((bitmap >> 32) & UINT32_MAX) +
         ARROW_POPCOUNT32(bitmap & UINT32_MAX);

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If performance is critical, I would assume this version would just add a couple of bit operation. But if you feel it looks cleaner I can change this. Please let me know.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kou updated PR

@avertleyb
Copy link
Author

I just found out that I need to follow certain process while submitting fixes to open source projects.

I will re-submit these changes soon.

@jmckenna
Copy link

jmckenna commented Oct 30, 2023

I see that the win32 workflow added here, is now removed from main (this would explain why users cannot compile arrow per #32111 ). Can we add this workflow back into the main branch?

@kou
Copy link
Member

kou commented Oct 31, 2023

This wasn't merged.
Do you want to work on this (#32111)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants