gamcil/cblaster

"zsh: illegal hardware instruction" error

Opened this issue · 3 comments

Hi,

I keep getting the error message "zsh: illegal hardware instruction" when attempting to run any cblaster command (even simply cblaster --version). My install is on a M1 Max chip Mac with OS 12.6. I have installed in a conda environment that has Python 3.10, Diamond 2.1.8, and the whole install seems to be successful - no error messages or incompatibilities reported during the installation of either cblaster or Diamond. I first tried in the base environment (Python 3.9) and this also failed with the same error message. The associated clinker installation is working perfectly well within the conda environment, while the exact same installation steps (python version etc) provide a perfectly functioning cblaster on an 2013 iMac.

I wondered whether it was an M1 chip issue, but I think I've read elsewhere in this issues section that this is a similar set-up to the developer of cblaster. Any advice on troubleshooting the problem would be greatly appreciated.

I did notice a closed issue that reported something similar, but there wasn't an obvious solution listed there.

Thanks for any guidance.

A few further things I've tested without success:

  • I should have added that this is all with cblaster 1.3.18
  • I noticed anaconda was installed as the x86_64 version rather than arm64, so this was fully removed and reinstalled as the arm64 version. However, Diamond isn't available via arm64 compatible channels and I got a lot of errors when trying to obtain it from bioconda/osx-64
  • In case it was an arm64 issue, I followed instructions to create a x64 environment within conda, which was created successfully (the command: python -c "import platform;print(platform.machine())" provides the output "x86_64"
  • Everything could be successfully installed into this environment (Diamond, cblaster), but the same "zsh: illegal hardware instruction" error message occured with any cblaster command. Again, clinker was fine.

I'm also having a similar issue on my local machine.

The solution that seems to have worked for me is to install Diamond using Homebrew (https://formulae.brew.sh/formula/diamond) and then simply installing cblaster in the base environment (i.e. without first creating a specific conda environment). I believe there's a minor genomicsqlite issue with M1 Macs when using cblaster, but this is known and data was processed correctly. I've only tested this install with a local database and not with retrieval of data from NCBI.