motiwari / BanditPAM

BanditPAM C++ implementation and Python package
MIT License
647 stars 38 forks source link

Cannot build locally with `conda` `python` due to `x86_64` vs. `arm64` mismatch #249

Open motiwari opened 1 year ago

motiwari commented 1 year ago

Currently, the anaconda installer-installed python's platform.machine() returns x86_64, because anaconda has only a x86_64 bootloader. This causes a problem when trying to link arm64 libraries installed via brew.

This means that in order to compile locally, users need to use brew's python or their system python. This is suboptimal.

Previously, this worked on my machine because the brew-installed libraries were the x86_64 versions, because my shell was confused. Fixing my shell installed the arm64 versions, which no longer worked with conda's python.

This is likely related to #167 . I'm guessing that the Github runners install the x86_64 versions of the libraries. Then, on some M1 Macs, brew install libomp installs the arm64 versions of those libraries. Can we somehow fix this? Perhaps by compiling on M1 Mac Github runners when they're available? Or by having users that run into the bug install the x86_64 versions of the libraries?