Open martin-blostein-innovasea opened 1 month ago
An update: this is only an issue for me in the Debug build type. Release installs successfully.
I have narrowed this down to the following issue:
In the apache arrow source, there is a file FindThriftAlt.cmake
. It contains this relevant block:
if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX)
if(NOT ARROW_THRIFT_USE_SHARED)
if(ARROW_USE_STATIC_CRT)
if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
set(THRIFT_MSVC_LIB_SUFFIX "mtd")
else()
set(THRIFT_MSVC_LIB_SUFFIX "mt")
endif()
else()
if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
set(THRIFT_MSVC_LIB_SUFFIX "mdd")
else()
set(THRIFT_MSVC_LIB_SUFFIX "md")
endif()
endif()
endif()
endif()
The problem is that even with me setting build_type=Debug
in both my profile and the settings argument on the command line, CMAKE_BUILD_TYPE
here is set to RELEASE
. This explains why the build succeeds with the release build type but not the debug build type.
By patching FindThriftAlt.cmake
to force the usage of the debug suffixes, my debug build succeeds. I'm not yet sure about the proper fix.
According to the CMake docs, CMAKE_BUILD_TYPE
"Specifies the build type on single-configuration generators". Visual Studio is of course multi-configuration, and so this value is left unset. The arrow project then sets this value to RELEASE by default. I am a newcomer to conan so I am not sure of how to work around this properly.
Describe the bug
Operating System+version: Windows 10 Pro (Build 19045.4894) Compiler+version: MSVC 193 (19.38.33135) Conan version: 2.8.0 Python version: 3.11.9
I am trying to install arrow with parquet on Windows. (I have no issues on Linux.) I have tried both arrow 12.0.1 and 17.0.0 (latest). Either way I get the following error:
with relevant traceback being:
This is my
conanfile.txt
:The same error occurs if I drop the
parquet
option and just havewith_thrift
.This is my profile:
Here is the complete output:
How to reproduce it
Attempt to run
conan install
with the profile & conanfile above on Windows