Steel Blank Common LISP (SBCL)のインストール

Roswell on Windows. 1

Steel Bank Common LISP on CentOS6. 1

 

 

2019年現在、LISP界隈で最も活動が盛んなんだそうです。

Roswellを使った64bit MS Windows10版用と、64bit Linux 用で確認したSBCLのインストールについての説明です。

 

Roswell on Windows

Roswell-x86_64.zipで検索してダウンロードしてください。

適当なフォルダで展開してください。Roswell-x86_64というフォルダができて、その中にroswellというフォルダがあります。

端末を開いてroswellフォルダでros runと入力するとSteel Blank Common Lisp (SBCL)のインストールが始まります。

Microsoft Windows [Version 10.0.17134.472]

(c) 2018 Microsoft Corporation. All rights reserved.

 

C:\Users\akira>cd roswell

 

C:\Users\akira\roswell>ros run

Installing sbcl-bin...

No SBCL version specified. Downloading platform-table.html to see the available versions...

[##########################################################################]100%

Installing sbcl-bin/1.4.14...

Downloading https://github.com/roswell/sbcl_bin/releases/download/1.4.14/sbcl-1.4.14-x86-64-windows-binary.msi

[##########################################################################]100%

Extracting the msi archive. sbcl-bin-1.4.14-x86-64-windows.msi to C:\Users\akira\.roswell\src\sbcl-1.4.14-x86-64-windows\

Install Script for sbcl-bin...

Installing Quicklisp...

up to date. stop

Making core for Roswell...

up to date. stop

*

お約束の"Hello World"です。

* (print "Hello World")

 

"Hello World"

"Hello World"

*

Hello World2個出てきます。

終了は(quit)です。ros list installedと入力すると、インストールされたLISPが表示されます。

* (quit)

 

C:\Users\akira\roswell>ros list installed

Installed implementations:

 

Installed versions of sbcl-bin:

sbcl-bin/1.4.14

 

C:\Users\akira\roswell>

sbcl-binroswellのあるフォルダに.roswellというフォルダが作成され、その中に保存されています。約200MBありました。

C:\Users\akira>cd .roswell

 

C:\Users\akira\.roswell>dir

 ドライブ C のボリューム ラベルがありません。

 ボリューム シリアル番号は 0C0E-3614 です

 

 C:\Users\akira\.roswell のディレクトリ

 

2019/01/08  19:16    <DIR>          .

2019/01/08  19:16    <DIR>          ..

2019/01/08  19:14    <DIR>          archives

2019/01/08  19:14                76 config

2019/01/08  19:16    <DIR>          env

2019/01/08  19:14    <DIR>          impls

2019/01/08  19:14    <DIR>          lisp

2019/01/08  19:16    <DIR>          local-projects

2019/01/08  19:14    <DIR>          src

2019/01/08  19:14    <DIR>          tmp

               1 個のファイル                  76 バイト

               9 個のディレクトリ  96,036,372,480 バイトの空き領域

 

C:\Users\akira\.roswell>

 

ros install ccl-binClozure Common LISPがインストールできます。

ros use ccl-binClozure Common LISPが、ros use sbcl-binSteel Blank Common LISPが使用可能となります。

ros runで選択したLISPが始まり、sbcl-binでは*ccl-binでは?がプロンプトとなります。

(quit)

で終了します。

 

Steel Bank Common LISP on CentOS6

CentOS6.8にもSteel Bank Common LISP (SBCL)をインストールすることにしました。

SBCLのホームページにアクセスしLinuxAMD64をクリックします。

 

Save Fileをクリックします。

Downloadsフォルダにダウンロードされています。

terminalを開きます。Downloadsフォルダに移動します。

bash: export: `on/home': not a valid identifier

bash: whchvirtualenvwrapper.sh: command not found

bash: source: filename argument required

source: usage: source filename [arguments]

[centos@localhost Desktop]$ pwd

/home/centos/Desktop

[centos@localhost Desktop]$ cd ../Downloads

[centos@localhost Downloads]$

解凍します。bzip2-cd○○.tar.bz2 | tar xvf -という方法だそうです。

[centos@localhost Downloads]$ bzip2 -cd sbcl-1.4.15-x86-64-linux-binary.tar.bz2 | tar xvf -

sbcl-1.4.15-x86-64-linux/output/sbcl.core

sbcl-1.4.15-x86-64-linux/src/runtime/sbcl

sbcl-1.4.15-x86-64-linux/output/prefix.def

sbcl-1.4.15-x86-64-linux/src/runtime/sbcl.mk

・・・中略・・・

sbcl-1.4.15-x86-64-linux/obj/sbcl-home/contrib/sb-gmp.asd

sbcl-1.4.15-x86-64-linux/obj/sbcl-home/contrib/sb-posix.fasl

sbcl-1.4.15-x86-64-linux/obj/sbcl-home/contrib/sb-aclrepl.fasl

sbcl-1.4.15-x86-64-linux/obj/sbcl-home/contrib/sb-cover.fasl

sbcl-1.4.15-x86-64-linux/obj/sbcl-home/contrib/sb-concurrency.fasl

[centos@localhost Downloads]$

Downloadsフォルダにsbcl云々フォルダが作成されました。

また/usr/local/binフォルダにsbclというファイルが作成されました。

PATHが通っていることを確認します。

[centos@localhost Downloads]$ echo $PATH

/home/centos/anaconda3/bin:/home/centos/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/centos/bin

[centos@localhost Downloads]$

これでいけるはずなんですが・・・

[centos@localhost Downlods]$ sbcl

bash: /usr/local/bin/sbcl: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

[centos@localhost Downlods]$

ldlinux.so.2がないので実行できません、とでました。

susuperuserになり、yum installでインストールすることにします。

[root@localhost Desktop]# yum install ld-linux.so.2

Loaded plugins: fastestmirror, refresh-packagekit, security

Setting up Install Process

Loading mirror speeds from cached hostfile

 * base: ftp.riken.jp

 * extras: ftp.riken.jp

 * updates: ftp.riken.jp

Resolving Dependencies

--> Running transaction check

---> Package glibc.i686 0:2.12-1.212.el6 will be installed

--> Processing Dependency: glibc-common = 2.12-1.212.el6 for package: glibc-2.12-1.212.el6.i686

・・・中略・・・

---> Package glibc-headers.x86_64 0:2.12-1.192.el6 will be updated

---> Package glibc-headers.x86_64 0:2.12-1.212.el6 will be an update

--> Finished Dependency Resolution

 

Dependencies Resolved

 

================================================================================

 Package                  Arch         Version                 Repository  Size

================================================================================

Installing:

 glibc                    i686         2.12-1.212.el6          base       4.4 M

Installing for dependencies:

 nss-softokn-freebl       i686         3.14.3-23.3.el6_8       base       157 k

Updating for dependencies:

 glibc                    x86_64       2.12-1.212.el6          base       3.8 M

 glibc-common             x86_64       2.12-1.212.el6          base        14 M

 glibc-devel              x86_64       2.12-1.212.el6          base       991 k

 glibc-headers            x86_64       2.12-1.212.el6          base       620 k

 nss-softokn-freebl       x86_64       3.14.3-23.3.el6_8       base       168 k

 

Transaction Summary

================================================================================

Install       2 Package(s)

Upgrade       5 Package(s)

 

Total download size: 24 M

Is this ok [y/N]:

yを押します。

Is this ok [y/N]: y

Downloading Packages:

(1/7): glibc-2.12-1.212.el6.i686.rpm                     | 4.4 MB     00:08    

(2/7): glibc-2.12-1.212.el6.x86_64.rpm                   | 3.8 MB     00:06    

(3/7): glibc-common-2.12-1.212.el6.x86_64.rpm            |  14 MB     00:28    

(4/7): glibc-devel-2.12-1.212.el6.x86_64.rpm             | 991 kB     00:01    

(5/7): glibc-headers-2.12-1.212.el6.x86_64.rpm           | 620 kB     00:01    

(6/7): nss-softokn-freebl-3.14.3-23.3.el6_8.i686.rpm     | 157 kB     00:00    

(7/7): nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm   | 168 kB     00:00    

--------------------------------------------------------------------------------

Total                                           523 kB/s |  24 MB     00:47    

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

  Updating   : nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64                 1/12

  Updating   : glibc-common-2.12-1.212.el6.x86_64                          2/12

・・・中略・・・

  Verifying  : glibc-headers-2.12-1.192.el6.x86_64                        11/12

  Verifying  : glibc-devel-2.12-1.192.el6.x86_64                          12/12

 

Installed:

  glibc.i686 0:2.12-1.212.el6                                                  

 

Dependency Installed:

  nss-softokn-freebl.i686 0:3.14.3-23.3.el6_8                                   

 

Dependency Updated:

  glibc.x86_64 0:2.12-1.212.el6                                                

  glibc-common.x86_64 0:2.12-1.212.el6                                         

  glibc-devel.x86_64 0:2.12-1.212.el6                                           

  glibc-headers.x86_64 0:2.12-1.212.el6                                        

  nss-softokn-freebl.x86_64 0:3.14.3-23.3.el6_8                                

 

Complete!

[root@localhost Desktop]#

これでOKです。sbclと入力すると* と出力されます。

[centos@localhost Desktop]$ sbcl

This is SBCL 1.4.3, an implementation of ANSI Common Lisp.

More information about SBCL is available at <http://www.sbcl.org/>.

 

SBCL is free software, provided as is, with absolutely no warranty.

It is mostly in the public domain; some portions are provided under

BSD-style licenses.  See the CREDITS and COPYING files in the

distribution for more information.

*

お約束のHello Worldです。

* (print "Hello World")

 

"Hello World"

"Hello World"

*