読者です 読者をやめる 読者になる 読者になる

About connecting the dots.

statistics/machine learning adversaria.

RStudio Serverの更新とロケール設定

RStudio Serverを久しぶりに使おうと思ってアクセスしたら,なんかバージョンが古すぎてggplot2もdplyrもtidyrも入れられない有様だったので,アップデートをしましたよの備忘録.元バージョンはR3.1.0にRStudio0.97あたり.OSはCentOS6.5でした.

Rについては,cranから最新版を落としてmakeしてinstallすればOK.コンパイルの際には enable-R-shlib をつけないとダメとのこと*1.ちなみにyumから入れると3.1.0だったので,基本的にソースからビルドせざるをえない感じです.

$ cd /tmp
$ wget wget https://cran.r-project.org/src/base/R-3/R-3.2.3.tar.gz
$ tar xvf R-3.2.3.tar.gz
$ cd R-3.2.3
$ ./configure  --with-readline=no --with-x=no --enable-R-shlib
$ make
$ sudo make install

続いてRStudio Serverのインストール.こっちはrpmを公式から落としてきて,yumで入れればOK.

$ wget https://download2.rstudio.org/rstudio-server-rhel-0.99.879-x86_64.rpm
$ sudo yum install --nogpgcheck rstudio-server-rhel-0.99.879-x86_64.rpm

で,このあと `sudo rstudio-server restart` したら,なんか以下のようなエラーがでてうまく動いてくれない.localeコマンドでわかる通り,これはOSのロケールが適切に設定されていないときに出るエラーとのこと.

$ sudo rstudio-server restart
16 Feb 2016 07:25:10 [rserver] ERROR Unexpected exception: locale::facet::_S_create_c_locale name not valid; LOGGED FROM: int main(int, char* const*) /root/rstudio/src/cpp/server/ServerMain.cpp:547
/usr/sbin/rstudio-server: line 33: return: can only `return' from a function or sourced script
rstudio-server start/running, process 4032
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: LC_ALL?????????????????????: ??????????????????????
...

この場合,LC_CTYPEを設定してあげて,再起動すればOK.このあたりの変数の意味は,このあたりを参照してください.

$ sudo vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"
LC_CTYPE="ja_JP.UTF-8" # この行を追加
SYSFONT="latarcyrheb-sun16"
$ sudo reboot

これで無事アクセスできました.

*1:shlibっていうのはshared libraryのことらしいです