63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# 20240318114756 raspi4 guileのインストール
|
|
#tech #raspi4
|
|
|
|
```
|
|
$ sudo apt install guile-3.0 guile-3.0-libs guile-3.0-dev
|
|
```
|
|
|
|
## slibのインストールと設定
|
|
20240318 に raspberry pi OSのbookworm で試したところ、guile3に対応していないバージョンだったため、手動でインストールする。
|
|
|
|
```
|
|
$ sudo apt install slib
|
|
```
|
|
raspberry pi OSの場合、インストールされる先は `/usr/share/slib/` 。
|
|
ンストール先を`SCHEME_LIBRARY_PATH` として環境変数に追加。
|
|
下記を ~/.profileに追加
|
|
```
|
|
export SCHEME_LIBRARY_PATH=/usr/share/slib/
|
|
```
|
|
slibは実装ごとにslibcatなるカタログファイルが必要。下記の手順で生成。
|
|
```
|
|
$ sudo mkdir -p /usr/share/guile/site/3.0
|
|
$ sudo touch /usr/share/guile/site/3.0/slibcat
|
|
$ sudo chmod a+rw /usr/share/guile/site/3.0/slibcat
|
|
$ sudo guile
|
|
GNU Guile 3.0.8
|
|
Copyright (C) 1995-2021 Free Software Foundation, Inc.
|
|
|
|
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
|
|
This program is free software, and you are welcome to redistribute it
|
|
under certain conditions; type `,show c' for details.
|
|
|
|
Enter `,help' for help.
|
|
scheme@(guile-user)> (use-modules (ice-9 slib))
|
|
scheme@(guile-user)> (require 'new-catalog)
|
|
scheme@(guile-user)> (quit)
|
|
```
|
|
|
|
この後、通常ユーザーで
|
|
```
|
|
$ guile
|
|
.
|
|
.
|
|
.
|
|
$ scheme@(guile-user)> (use-modules (ice-9 slib))
|
|
```
|
|
をしてエラーが発生、 `"WARNING: compilation of /usr/share/slib/guile.init failed:"` などと表示されることがあったが、再現しなくなってしまった。 `SCHEME_LIBRARY_PATH` の反映ができていなかったかもしれない。
|
|
|
|
動作確認
|
|
```scm
|
|
$ guile
|
|
$ (use-modules (ice-9 slib))
|
|
$ (require 'primes)
|
|
...
|
|
$ (prime? 13)
|
|
$ $1 = #t
|
|
```
|
|
とかなっていればOK。
|
|
|
|
## Ref.
|
|
- [The SLIB Portable Scheme Library](https://people.csail.mit.edu/jaffer/SLIB.html)
|
|
- [SLIB (Guile Reference Manual)](https://www.gnu.org/software/guile/manual/html_node/SLIB.html)
|
|
- [SLIB installation (Guile Reference Manual)](https://www.gnu.org/software/guile/manual/html_node/SLIB-installation.html)
|