apache / apache/arrow

[C++] 32 bit MSVC doesn't build

Open
#32,111 41 comments 0 reactions 0 assignees View on GitHub
Component: C++ Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

When specifying Win32 as a platform, and building with MSVC, the build fails with the following compile errors :

```

C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(70,59): error C3861: '__popcnt64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj]
C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(204,7): error C3861: '_BitScanReverse64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj]
C:\Users\avertleyb\git\arrow\cpp\src\arrow/util/bit_util.h(250,7): error C3861: '_BitScanForward64': identifier not found [C:\Users\avertleyb\git\arrow\cpp\build32\src\arrow\arrow_shared.vcxproj] 
```

**Environment**: Win32, MSVC
**Reporter**: [Arkadiy Vertleyb](https://issues.apache.org/jira/browse/ARROW-16778)
#### PRs and other links:
- [GitHub Pull Request #13376](https://github.com/apache/arrow/pull/13376)
- [GitHub Pull Request #13519](https://github.com/apache/arrow/pull/13519)
- [GitHub Pull Request #13532](https://github.com/apache/arrow/pull/13532)

**Note**: *This issue was originally created as [ARROW-16778](https://issues.apache.org/jira/browse/ARROW-16778). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Start in cpp/src/arrow/util/bit_util.h at lines 70, 204, and 250, then reproduce the Win32 MSVC build to confirm the reported errors. Review Pull Requests #13376, #13519, and #13532 for existing work. Done means the Win32 MSVC build completes without these compile errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.