この記事は完全に備忘録です。必要最低限の情報しか記されていませんので悪しからずご了承ください。
色々事情があってつい最近Rを3.6.1にアップデートして、いつも通りパッケージをインストールし直していたのですが、こういう時に毎回コケるのはRStanと相場が決まっているので、これまたいつも通りRStanをインストールした後でお馴染みの8schoolsでテストしてみたのでした。そしたら、以下のようなエラーメッセージが*1。
> library(rstan)
> schools_dat <- list(J = 8,
+ y = c(28, 8, -3, 7, -1, 1, 18, 12),
+ sigma = c(15, 10, 16, 11, 9, 11, 10, 18))
> fit <- stan(file = '8schools.stan', data = schools_dat)
Error in compileCode(f, code, language = language, verbose = verbose) :
Compilation ERROR, function(s)/method(s) not created!
...
Error in sink(type = "output") : invalid connection
こういう、RStanのインストールが通った後にもかかわらずcompileCode系のエラーが出る時はClangに問題があることが多いので、Clangをインストールし直したんですがそれでも直らず。。。しばらく困っていたのですが、結局以下のissue commentの通りに対応したら解決しました。
- Xcode Command Line Toolsの最新バージョンをインストールする
- rstanを削除する
- Rセッションを再起動する
- StanHeaders, rstanの順に再インストールする
Mac OSだとXcodeがネックになることが多いんですよね。。。ということで今後もR側のバージョンが変わった時はXcodeのアップデートも忘れずにやっておこうと思います。