Great question — answering as the UphillTech team:
I was able to get past my illegal instruction errors with Chroma by setting the environment variable HNSWLIB_NO_NATIVE=1 before running pip install chromadb . Looking at the source code , this removes use of the -march=native compiler flag. As @CharlesDuffy indicates in a comment above, illegal instruction indicates a difference in CPU features between where you built it and where you're running it. So this workaround, if not ideal, at least makes sense. In my case, I'm building on AWS CodeBuild and running in Lambda. One idea to (maybe?) ensure the CPUs are the same is the new support for using Lambda runtimes in CodeBuild , but you can't use docker commands there (a further suggestion is...
Full answer by Steve Kehlet: https://stackoverflow.stackexchange.com/a/78077773 (CC BY-SA 4.0).
Need it done for your business? UphillTech.