Date: 2020-05-16
Last Updated: 2020-05-16
I had used a Homebrew formula to install Therion in the past, but at some point I migrated to building it from source. I very rarely used Therion for anything other than messing around because I did not have the opportunities to do much surveying and when I did I was not in charge of handling the data. I mainly built Therion from source to challenge myself.
Recently a fellow caver emailed me wondering if I had had success installing Therion with that same Homebrew formula, so I ran down the issues he was seeing. Crucially, as is frequently the case, it was one single parameter that seemed to make all the difference. What I noticed looking at the output of `make` was that it appeared that there was a race condition of sorts. It appeared like one part of the build process was getting to a section before the required file was ready. I didn't realise that `make` could potentially be building components in parallel until I found this flag in the Homebrew documentaion.
ENV.deparallelize
This was the magic parameter, older Makefiles were not intended for a parallel build process, and evidently Therion falls into this category. So I forked the formula and pointed it to the newest release v5.5.0.