はい。タイトル通りです。また躓きました。
前回はSLIBをインストールするところまでいきました。
riverta1992.hatenablog.com
その後、試しにarrayでも使ってみようと思い立ったところ
gosh> (use slib) gosh> (require 'array) *** ERROR: couldn't open output file: "C:\\Program Files\\Gauche\\share\\gauche-0.97\\0.9.9\\lib/slibcat" While loading "C:\\Program Files (x86)\\slib\\/mklibcat.scm" at line 273 Stack Trace: _______________________________________ 0 (call-with-output-file catpath (lambda (op) (define (display* ... at "C:\\Program Files (x86)\\slib\\/mklibcat.scm":22 1 #(lvar thunk #f 1 0) [unknown location] 2 (slib:load-source (in-vicinity (library-vicinity) "mklibcat")) at "C:\\Program Files (x86)\\slib\\/require.scm":79 3 (catalog:get feature) at "C:\\Program Files (x86)\\slib\\/require.scm":145 4 (eval expr env) at "C:\\Program Files\\Gauche\\share\\gauche-0.97\\0.9.9\\lib/gauche/interactive.scm":269
slibcatがないぞ!と怒られています。なにそれ。
と思ったら救いの神がいました。
myy.hatenablog.com
こちらのブログによると、管理者権限でgoshを起動してrequire使えばslibcatが作られるそうです。
筆者の環境がWindows10でpowershellを使っているので、以下のように管理者権限でpowershellを起動します。*1
PS > Start-Process powershell.exe -Verb runas
では起動した画面でslibを使ってみます。
requireにたいして#tが返ってきているので成功っぽいです。
今までの操作でslibcatが作成されているか念のため確認します。
PS > ls 'C:\Program Files\Gauche\share\gauche-0.97\0.9.9\lib\' ディレクトリ: C:\Program Files\Gauche\share\gauche-0.97\0.9.9\lib Mode LastWriteTime Length Name ---- ------------- ------ ---- ~ -a---- 2019/12/13 19:33 16410 slib.scm -a---- 2020/05/04 11:16 10305 slibcat -a---- 2019/12/13 19:34 1137 srfi-1.scm ~
slibcat君、いました。
最後に管理者用の画面を閉じて通常のpowershellからgoshを起動して試してみます。
PS C:\Users\user> gosh gosh> (use slib) gosh> (require 'array) #t
成功です。ようやくここまで来ました。
今度こそSLIBを使っていきたいです。