Vine Linuxでlittlerをインストールする

追記(2016.2.21)

Vine Linux 6 およびVineSeedに R-littler パッケージをアップロードしました。

したがって以下の記事は過去の記録程度の意味となりました。

経緯

Rのコマンドラインのインタフェースとして littler を使用する場合があります。

Vine Linuxでもlittlerパッケージを作成して使用できるようにしていますが、バージョンが0.1.5と古いです(バージョンを上げるとビルド時にエラーが出てしまったため放置していました)。

最近、何かを調べていて(忘れてしまいました)、 CRANにlittlerパッケージが登録されているのを知りました。早速インストールしたのでその時のメモです。

littlerのインストール

Vine Linuxの場合にはまずlibicu-develをインストールします。

sudo apt-get install libicu-devel

これのパッケージがないとlittlerのインストール時にエラーが出ます。

次にスーパーユーザーでRを起動し、

install.packages("littler")

でlittlerをインストールします。

64-bit環境では /usr/lib64/R/library/littler/bin 以下に r がインストールされるため、 /usr/local/bin 以下にシンボリックリンクを貼ります。

sudo ln -s /usr/lib64/R/library/littler/bin/r /usr/local/bin

これで r を使用できるようになります。

$ r --version
r ('littler') version 0.3.0

using GNU R Version 3.2.3 (2015-12-10)

Copyright (C) 2006 - 2015  Jeffrey Horner and Dirk Eddelbuettel

r is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License.  For more information about
these matters, see http://www.gnu.org/copyleft/gpl.html.

プログラムの1行目は

#!/usr/bin/env r

としておくといいでしょう。

org-modeで(require ‘ob-R)とするとエラーが出ていたのを解決(訂正)

経緯

Emacsのパッケージ管理をpackageで行っています。 2015.8.3より後のバージョンのorgをインストールした場合に、 org-bableでR-modeを使用するために

(require 'ob-R)

とすると

Debugger entered--Lisp error: (invalid-function org-babel-header-args-safe-fn)

のようにエラーが出ていました。

試行錯誤の結果、解決できたのでメモを残しておきます。

追記(2015.9.29)

以下の「方法」の内容は間違いの可能性があるため訂正します。従来のELPA(gnu)レポジトリでインストールできました。

org-modeのメーリングリストを見ていると同じエラーの投稿がありました( 質問 とそれに対する 回答 )。

回答には

When this error has been reported in the past, it has been due to
another version of Org being loaded during the update.  Please uninstall
and then reinstall before any version of Org is loaded.

と書かれていました。

つまり、

  1. 一度(新しいバージョンの)Orgをアンインストールする。
  2. Emacsを起動して古いバージョンのOrgがロードされる前に(新しいバージョンの)Orgをインストールする。

必要があるようです。

何回もインストールとアンインストールを繰り返して試行錯誤した結果、

  1. (念のため)Emacsをシャットダウンする。
  2. emacs -Q でまっさらな環境のEmacsを起動する(ここが重要)。
  3. M-x list-packages からorg(gnu版のみ表示される)をインストールする。
  4. Emacsを起動する。

でエラーが起こらなくなりました。

同じ症状で困っている方がいれば試してみて下さい。

方法(以下の内容は必要ありません)

このページ の内容を参考にしました。

.emacs.elに

;; (require 'package)   ;; 設定済のためコメントアウト
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)

を追加し、

M-x list-packages

とすると、

org                20150914      available  gnu        Outline-based notes management and organizer
org                20150914      available  org        Outline-based notes management and organizer

のようにorg版のorgも表示されるようになるので、こちらをインストールします。

これで

(require 'ob-R)

としてもエラーが出なくなりました。

補足

このページ によると、開発版ではstan-modeに対応しているようです(2015.9.20閲覧)。 2015.9.3のgitのログ に載っていました。

近いうちに取り込まれて使用できるようになるでしょう。楽しみです。