Hello Will, Le 04/03/2022 à 01:27, Will Jones a écrit :
I've come across several different environments where Arrow either fails to configure with CMake or fails to link libraries. Some recent examples I've come across: * (Just fixed [1]) Windows, RTools4 (MSYS2), Debug, dynamic libraries * (Still broken) same as above, but static libraries * Windows, vcpkg, MSVC, Ninja, debug Fixing these one-by-one is possible, but time consuming. Are there any thoughts on how we could make the C++ build / CMake robust across environments? For example, does it seem feasible to unit test our CMake modules across a wide sampling of platforms? Or is the best way forward to simply submit fixes platform-by-platform?
Either way, someone will always have to submit fixes one-by-one. There is no existing solution that allows to solve platform compatibility issues automatically. This is a major problem of C++ development.
And I'm not sure we want to expand the scope of our CI testing even more, unless we also have motivated people to fix the unavoidable regressions.
(as a side note, I think static library builds are much less important than shared library builds, except for R)
Regards Antoine.