maxi-k / btrblocks

BtrBlocks: Efficient Columnar Compression for Data Lakes (SIGMOD 2023 Paper)
MIT License
217 stars 18 forks source link

Unable to build on Mac M1 Pro #2

Closed coded9 closed 11 months ago

coded9 commented 11 months ago

output of make command:

[  0%] Performing build step for 'fastpfor_src'
[  3%] Building CXX object CMakeFiles/FastPFOR.dir/src/bitpacking.cpp.o
clang: error: the clang compiler does not support '-march=native'
make[5]: *** [CMakeFiles/FastPFOR.dir/src/bitpacking.cpp.o] Error 1
make[4]: *** [CMakeFiles/FastPFOR.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [vendor/lemire/fastpfor/src/fastpfor_src-stamp/fastpfor_src-build] Error 2
make[1]: *** [CMakeFiles/fastpfor_src.dir/all] Error 2
make: *** [all] Error 2

clang version:

Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: arm64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Could you let me know if there are any workarounds to do the setup so that I can run the tests to compare against Parquet files ?

maxi-k commented 11 months ago

We only tested this library on x86+Linux.

The error you're seeing is a downstream issue: The FastPFOR library, which causes your error and on which we depend, requires x86 (see here).

I'm not familiar with the status of x86 compilation and emulation on M1 Macs. Briefly googling your specific issue yields this stackoverflow post, which seems to suggest that upgrading your compiler to clang 15 would fix it, though I wouldn't be hopeful if I were you because we use so many x86-specific features.

If you try this, it would be great to post the outcome here for others and for future reference.

Honestly though, the easiest thing until we add proper ARM support would be to get an x86 Linux machine / VM and test it there.