apache / arrow

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
https://arrow.apache.org/
Apache License 2.0
14.63k stars 3.56k forks source link

[C++] Windows.h Capitalization breaks cross-platform build #44754

Closed evetion closed 4 days ago

evetion commented 4 days ago

Describe the bug, including details regarding any error messages, version, and platform.

Over at https://github.com/JuliaPackaging/Yggdrasil/pull/9801, we build Arrow cross-platforms for use in the Julia language.

The capitalization of Windows.h in https://github.com/apache/arrow/blob/main/cpp/src/arrow/util/io_util.cc#L121 breaks the mingw compilation for Windows platforms, as the host platform is case-sensitive, and mingw only provides the lowercased variant:

[15:22:30] /workspace/srcdir/arrow/cpp/src/arrow/util/io_util.cc:121:12: fatal error: Windows.h: No such file or directory
[15:22:30]  #  include <Windows.h>
[15:22:30]             ^~~~~~~~~~~
[15:22:30] compilation terminated.

Component(s)

C++

kou commented 4 days ago

Issue resolved by pull request 44755 https://github.com/apache/arrow/pull/44755