librep (A Lisp system for UNIX)

[ 戻る | トップページに戻る ]

概要

librep とは、Sawmill の記述等に用いられている LISP 言語インタープリタ である。

URL

http://librep.sourceforge.net/ (Official Site)
ftp://sawmill.sourceforge.net/pub/sawmill/
ftp://ftp.kddlabs.co.jp/.9/sourceforge/sawmill (ミラー)

インストール環境

Slackware 7.0 (Kernel 2.2.14 + glibc 2.1.2)

必要なもの

gmp

バージョン

0.11.1, 0.11.3

インストール手順

$ tar xvfz librep-0.11.1.tar.gz
$ cd librep-0.11.1
$ ./configure --with-readline
(snip)
checking for limits.h... yes
checking for argz.h... yes
checking for locale.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for sys/param.h... yes
checking for mpz_init in -lgmp... no 
configure: error: Can't find libgmp

むう。README を読むと (先に読めよ (^^;) どうやら GNU MP library が必要らしい。 パッチが 4 つ? そのうち 3 つは RedHat 6.0 gmp source から? まずは gmp のインストールへ Go!
gmp のインストールができたら仕切り直し。
$ ./configure --with-readline
$ make
./build-info i586-pc-linux-gnu 0.11.1 \
  '/usr/local/share/rep' '/usr/local/share/rep/0.11.1/lisp' \
  '/usr/local/libexec/rep/0.11.1/i586-pc-linux-gnu' \
  '/usr/local/share/rep/0.11.1/DOC' '/usr/local/libexec/rep/i586-pc-linux-gnu' >build.h
/bin/sh ./rules.mk.sh '/usr/local/share/rep' \
  '/usr/local/libexec/rep/i586-pc-linux-gnu' '/usr/local/share/rep/0.11.1/DOC' >rules.mk
( cd src && make repdoc )
make[1]: Entering directory `/usr/local/src/librep-0.11.1/src'
Makefile:239: .continuations.d: そのようなファイルやディレクトリはありません
Makefile:239: .debug-buffer.d: そのようなファイルやディレクトリはありません
Makefile:239: .files.d: そのようなファイルやディレクトリはありません
Makefile:239: .find.d: そのようなファイルやディレクトリはありません
Makefile:239: .lisp.d: そのようなファイルやディレクトリはありません
Makefile:239: .lispcmds.d: そのようなファイルやディレクトリはありません
Makefile:239: .lispmach.d: そのようなファイルやディレクトリはありません
(snip)

ん? いいのかな。コンパイル自体は正常に終ったみたいだけど。
$ make check
make: *** No rule to make target `check'.  Stop.

むむ。Makefile みても check なんてターゲット存在しないぞ。INSTALL には Optional で make check を実行しろって書いてあるのにぃ。:-<
あとはインストールして、おしまい。
$ su
# make install
# exit

パッケージングミス - 1

パッケージ化のために、configure --prefix=/var/tmp/package/usr/local として configure/make した場合 (ここで /var/tmp/package はパッケージ作成用の仮想 ルートディレクトリ) 、そのパッケージをインストールすると、 /usr/local/libexec/rep/i586-pc-linux-gnu/rules.mk に /var/tmp/package というパスが記録されてしまい、librep を使用する rep-gtk 等のプログラムのコンパイル時に支障を来す。 そこで、作成したパッケージを一度、作業ディレクトリに展開 (tar xvfz) し、 /usr/local/libexec/rep/i586-pc-linux-gnu/rules.mk を以下のように修正した後、 再パッケージングした。
repdir=/usr/local/share/rep
       ~~~~~~~~~~~~~~~~~~~~修正 (/var/tmp/package を削除)
repexecdir=/usr/local/libexec/rep/i586-pc-linux-gnu
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~修正 (/var/tmp/package を削除)
repdocfile=/usr/local/share/rep/0.11.1/DOC
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~修正 (/var/tmp/package を削除)

[ 戻る | トップページに戻る ]