2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

RaspbianでのCommonLisp開発環境構築

はじめに

RaspbianでのCommonLisp開発環境の構築で地味に手こずったので、忘備録としてまとめておきます。
今までは、SBCLとQuicklispをそれぞれインストールしていたのですが、Roswellというとても便利なものがあったので、それを導入していきます。

Linuxbrewでのインストール(追記)

記事を書き終わってから「Linuxbrew」使った方が楽だということを知り、追記することにしました。
以下のコマンドで、「linuxbrew」をインストールします。

sudo apt install linuxbrew-wrapper

「linuxbrew」を使って、「Roswell」をインストールします。

brew install roswell

Linuxbrewで入れたRoswellにPATHが通っていなかったので、以下の方法でPATHを設定してください。

ホームディレクトリ下にある「.profile」というファイルを開きます。

vim ~/.profile

ファイル末尾に以下のコマンドを追記してください。

.profile
PATH="$HOME/.linuxbrew/Cellar/roswell/17.12.10.86/bin:$PATH"

roswell/以下の「17.12.10.86」はバージョンなので、「~.linuxbrew/Cellar/roswell/」ディレクトリを確認して、最新のバージョンを入れてください。

「.profile」の編集後はOSを再起動してください。

この方法でインストールした場合は、「Roswellの設定」の章まで飛ばしてください。

Roswellインストールに必要なもの

Roswellのインストールには以下のソフトウェアが必要です。

  • gcc
  • make
  • autoconf
  • automake
  • libcurl

しかし、Raspbianにはデフォルトでは「autoconf」と「libcurl」がインストールされていません。
なので、それらをインストールします。

autoconfのインストール

以下のコマンドを実行してください。

sudo apt-get install autoconf

以上です。

libcurlのインストール

「autoconf」と違ってこっちはめんどくさいです。

ダウンロードサイトから「libcurl」をダウンロードしてきます。
以下のコマンドでもダウンロードできます。

wget http://curl.haxx.se/download/curl-7.57.0.tar.bz2

(※) 最新バージョンはダウンロードサイトで確認してください。

ダウンロードしたら以下のコマンドで解凍します。

tar xf curl-7.57.0.tar.bz2

ディレクトリに入ります。

cd curl-7.57.0

以下のコマンドで設定を行います。

./configure --enable-libcurl-option

設定が終わったら以下のコマンドでコンパイルします。

make

コンパイルが終わったらインストール。

sudo make install

これで、「libcurl」のインストールは完了です。

Roswellのインストール

以下のコマンドでRoswellをダウンロードします。

git clone https://github.com/roswell/roswell.git

ディレクトリに入ります。

cd roswell

以下のコマンドを実行

./bootstrap

以下のコマンドで設定を行います。

./configure

設定が終わったら以下のコマンドでコンパイルします。

make

コンパイルが終わったらインストール。

sudo make install

これで、Roswellのインストールも完了です。

Roswellの設定

最初に以下のコマンドを実行します。

ros setup

次に、SBCL(Steel Bank Common Lisp)またはCCL(Clozure Common Lisp)をお好みでインストール。
一番最初に実行するときはかなり時間がかかりました。(自分の環境で15分くらい)

ros install sbcl
ros install ccl-bin

REPL起動

以下のコマンドでREPL(Read-eval-print loop)が起動します。

ros run

最後に

環境構築完了です。
これで、RaspberryPiでのCommonLispを使った開発がはかどりますね!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?