Installing mcmcse on a Mac
For reasons not worth going into, I wanted to install the R package mcmcse
.
This became a pain thanks to its dependency fftwtools
, so I didn’t do it for weeks.
For posterity, and in case it helps anyone else, here’s what I had to do to install fftwtools
on a Mac (an M1 Mac in particular).
(I seem to recall difficulties of a similar nature when I wanted to get mcmcse
working on Ubuntu as well.)
TL;DR
This is really just a note on ways to point R to things it doesn’t know where to look for or can’t find.
The short version is: you can run system("PATH=/path/to/whatever:${PATH}")
to add something to the PATH
from inside an R session just long enough for R to find it and install it.
If R needs that every time, I do not have the solution here, but it probably involves the .Renviron
file.
Tip: disable auto updating
This saga will require, potentially, running brew install
.
For reasons I cannot fathom, this auto updates things.
Because I’m lazy, I installed R with homebrew, which means when it auto-updates packages, my entire goddamn R installation gets shot to hell.
The umpteenth time this happened and I got the equivalent of “new R who dis?” when I went to load packages I used daily, I figured out how to make it stop.
Now I only call homebrew with the HOMEBREW_NO_AUTO_UPDATE=1
flag enabled, as HOMEBREW_NO_AUTO_UPDATE=1 brew install <whatever>
.
More on this here.
Overcoming pkg-config
errors
The first error I encountered was that pkg-config
could not be found.
Assuming that you have it installed already (I did, otherwise you want HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config
), the solution can be found here which links to information here which outsources some explanation here.
The short version: somewhere you need to get the place pkg-config
is added to your PATH
.
I tried creating .Renviron
to set this for R in perpetuity, but it didn’t seem to work.
I probably should have figured out why, but instead I opted for a bandaid to just get the damn thing to install, and ran system("PATH=/opt/homebrew/bin:${PATH}")
in R.
That worked, and revealed another problem.
You need fftw
The package fftwtools
is an interface to the library fftw
, so you need to have that.
If you don’t, run HOMEBREW_NO_AUTO_UPDATE=1 brew install fftw
.
Victory is life
Congratulations, you can now install mcmcse
.
Have fun!