common-lisp@dreamhost
Się już chwaliłem, że mam nowy hosting :-). W jego ramach mam dostęp do shella i kompletnego środowiska Linux, z kompilatorem, etc. Postanowiłem zainstalować tam implementacje Common Lispa.
Na pierwszy rzut poszła moja ulubiona implementacja SBCL. Niestety próba uruchomienia binarnej dystrybucji nie powiodła się. Na dreamhoscie używają “średniowiecznych” jąder z serii 2.4. SBCL z włączonymi wątkami używa futexów i innych wynalazków dostępnych w jądrach 2.6.
Kolej przyszłą na CLISPa. Z tego co wiem jest to jedna bardziej przenośnych implementacji. Nie wiem czemu za nią nie przepadam. Ponoć Paul Graham tworząć swój Viaweb używał właśnie CLISPa.
Instalacja jest w miarę prosta. Należy pobrać prekompilowaną dystrybucję:
cd src wget http://belnet.dl.sourceforge.net/sourceforge/clisp/clisp-2.41-i686-pc-linux-gnu-2.6.8.tar.gz
Wymagana jest jeszcze instalacja dwóch bibliotek:
wget http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.4.tar.gz wget http://belnet.dl.sourceforge.net/sourceforge/pcre/pcre-6.7.tar.bz2
Biblioteki rozpakowujemy i instalujemy następującą sekwencja poleceń:
./configure --prefix=$HOME make install
Teraz możemy przystąpić do instalacji CLISP.
cd ~/src/clisp-2.41 sed -ie 's!/home/users/s/sd/sds/top/Linux-i686/lib!$(HOME)/lib!' sed -ie 's!/usr/local!$(HOME)!' Makefile make install
Po tych operacjach mamy zainstalowaną binarkę clisp w katalogu ~/bin. Po dodaniu do pliku .bash_profile linijek:
export PATH=$PATH:$HOME/bin export LD_LIBRARY_PATH=$HOME/lib
możemy uruchamiać clispa z obrazem zawierającym najwięcej funkcjonalności:
clisp -K full
Obraz ten używany jest przy uruchamianiu clispa jako skrytpu FastCGI. Niestety wersja którą sciągnałem nie posiada tej funkcjonalności. Być może trzeba będzie zbudować ze źródeł.
Ha! Zapaliła się lampka! Mam działającą implementację lispa, zatem mogę ściągnąć i zbudować ze źródeł mojego faworyta SBCL. Jakby ktoś nie wiedział do budowy SBCL potrzebna jest działająca implementacja lispa :-). Na szczęście dzięki cross kompilacji może być to również clisp :-).
wget http://heanet.dl.sourceforge.net/sourceforge/sbcl/sbcl-1.0-source.tar.bz2 tar jxf sbcl-1.0-source.tar.bz2 cd sbcl-1.0 ./make.sh clisp
No i dupa. Ktoś lub coś ubija proces po 3 minutach działania.