I’m using conan to build a library that uses arrow parquet. I built arrow myself because I couldn’t find versions in conan center that included parquet:
In my conanfile.txt
[options] arrow:shared=True # I tried both shared and static arrow:parquet=True arrow:with_snappy=True
conan install .. --build=arrow
It builds and executes properly in my machine, but fails the tests in the Jenkins server with
SIGILL - Illegal instruction signal
AVX supported AVX2 not supported
AVX supported AVX2 supported
Furthermore, the arrow code has optimizations up to the avx level. For example, in byte_stream_split.h:
#if defined(ARROW_HAVE_AVX2) template <typename T> void ByteStreamSplitDecodeAvx2(const uint8_t* data, int64_t num_values, int64_t stride, T* out) // Code
Since I didn’t add support for AVX2, how do I tell conan to build arrow without AVX2 support, or whatever the minimum common configuration might be?
Or is there something entirely different I should be looking at?
Source: Windows Questions C++