public_notes/content/20240318114756 raspi4 guileのインストール.md

64 lines
2.1 KiB
Markdown
Raw Normal View History

2024-03-18 15:15:02 +09:00
# 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)