roswellをインストールしてみる
あらすじ
前回、Roswellをインストールしてみようとしたらうまくいかなかったので ソースからコンパイルしてインストールしてみることにします
参考
ここを参考にインストールしていきます github.com
インストール
事前準備
$ sudo apt update $ sudo apt install gcc automake libcurl4-openssl-dev zlib1g-dev
インストール
$ git clone -b release https://github.com/roswell/roswell.git $ cd roswell $ sh bootstrap $ ./configure $ make $ sudo make install
setup
この辺を参考にセットアップ github.com
$ ros $ ros -- --version roswell 18.4.10.91(0bd00aa) $ ros install sbcl $ ros install sbcl-bin $ ros install ccl-bin $ ros use sbcl/1.4.8
備考
setupのやり直しをしたい場合
rm -rf ~/.roswell/
install sbcl がうまく行かない
最初はros install sbcl
でなんかエラーが起きたのですがググってみると zlib1g-dev が必要みたい
debian jessie: "ros install sbcl" error · Issue #125 · roswell/roswell · GitHub
hello world
REPL でハローワールド
~$ ros run * (print "hello world!") "hello world!" "hello world!" * (exit) ~$
文字列を突っ込んでハローワールド
~$ ros run -e "(princ \"hello world\!\")" -q
ファイルを作る
~$ ros init hello-world
hello-worls.ros ができるのでエディタで開いて編集します
#!/bin/sh #|-*- mode:lisp -*-|# #| exec ros -Q -- $0 "$@" |# (progn ;;init forms (ros:ensure-asdf) ;;#+quicklisp (ql:quickload '() :silent t) ) (defpackage :ros.script.hello-world.3738098721 (:use :cl)) (in-package :ros.script.hello-world.3738098721) (defun main (&rest argv) (declare (ignorable argv)) ;; ここに処理を追加 (print (format t "~A" "Hello world!")) ) ;;; vim: set ft=lisp lisp:
実行
$ ./hello-world.ros Hello world! NIL
バイナリにもできるよ! (ちょっと早くなる)
~$ ros build hello-world.ros $ ./hello-world Hello world! NIL