any time on when the next release will be that will work on older macs?
We investigated a bit why our binaries aren’t working on old architectures and we found that homebrew tweak some optimization flags during the build. It basically add some instructions into binaries that are not known by old CPUs…
We tried to fix it but so far without any success. We don’t have a time frame to communicate as this isn’t a priority for us to support old macOS architectures but be sure that if we find a way, we’ll communicate about it.
right o then
so tried to get brew to build it properly since Snips just uses brew to install pre built binaries by downloading them from brew
but we can’t use brew to do this because Snips does not allow access the to the git repo where the files are
git clone --branch 0.60.5 ssh://firstname.lastname@example.org/snipsco/snips-platform.git
if it was accessible, then we users, could build for our mac osx system and cpu type ourselves
oh well, another wasted adventure with snips the “open source” system that is closed source and limited
==> Installing snips-asr from snipsco/snips ==> Cloning ssh://email@example.com/snipsco/snips-platform.git Cloning into '/Users/minimac/Library/Caches/Homebrew/snips-asr--git'... ERROR: Repository not found. fatal: Could not read from remote repository.
as for “homebrew tweaking some flags”… homebrew state that they by default build for the oldest systems
By default, bottles will be built for the oldest CPU supported by the OS/architecture you’re building for (Core 2 for 64-bit OSs). This ensures that bottles are compatible with all computers you might distribute them to.
however this can be changed, but it is then SNIPS that is preventing older systems being supported and not BREW
If you really want your bottles to be optimized for something else, you can pass the --bottle-arch= option to build for another architecture; for example, brew install foo --build-bottle --bottle-arch=penryn. Just remember that if you build for a newer architecture some of your users might get binaries they can’t run and that would be sad!
I wanted to let you know that I may have found a way to fix this issue.
Tweaking homebrew wasn’t the solution, this was because, as you may know, our code base is mostly written in rust. And some of our libs compile themselves some C and/or C++ code. This issue was caused by the fact that
cargo doesn’t forward environment variables when there are build scripts.
Basically, if we compile something with the
-mmacosx-version-min=version flag or if we set the env var
clang ensures you that your binaries will run on this given
man clang. What I didn’t know was the fact that this also ensures that binaries will run on CPU that is targeted by this version of macOS.
Despite the fact that Snips doesn’t officially support this old hardware configuration, the fix will be included in the 1.1.2 release and will be pushed hopefully next week.