O Steel Bank Common Lisp (SBCL) é uma das implementações Common Lisp open-source mais utilizadas hoje em dia. Ela é ativamente desenvolvida e mantida (a versão mais nova, a 2.1.9, foi liberada em 27/set/2021) e está disponível para diversos sistemas operacionais e plataformas:
Se você seguiu a Parte III desta série de artigos já está com o Emacs pronto e configurado para o desenvolvimento Common Lisp e, portanto, o próximo passo é instalar uma implementação disponível. Neste artigo faremos a instalação da SBCL!
1. SBCL: fonte ou binário?
Na página da SBCL podemos fazer o download do código fonte (para compilar e instalar) ou de um binário pré-compilado para Linux.
Para compilar o código fonte da SBCL é necessário que o computador já tenha alguma implementação Common Lisp instalada e, como estou assumindo que você está instalando tudo a partir do zero, você ainda não tem nenhuma implementação instalada em seu computador.
É estranho mas é isso mesmo: para compilar a implementação SBCL você precisa de uma outra implementação já instalada (a própria SBCL ou outra implementação Common Lisp compatível com o padrão ANSI).
Faremos portanto a instalação da versão binária disponível para Linux.
2. Download e instalação
Faça o download da última versão disponível para Linux e salve o arquivo em algum diretório temporário (faça o download pelo site da SBCL ou use o comando abaixo):
mkdir sbcl-temp cd sbcl-temp wget https://ufpr.dl.sourceforge.net/project/sbcl/sbcl/2.1.9/sbcl-2.1.9-x86-64-linux-binary.tar.bz2
Agora é necessário descompactar o arquivo:
tar -jxvf sbcl-2.1.9-x86-64-linux-binary.tar.bz2
Isso criará o diretório sbcl-2.1.9-x86-64-linux
. Entre nesse diretório:
cd sbcl-2.1.9-x86-64-linux
Agora temos que instalar a SBCL. Eu gosto de instalar esse tipo de coisa dentro do diretório /opt
, em um diretório específico para a versão da SBCL, por exemplo: /opt/sbcl-2.19
. Esse diretório deve ser informado através da variável de ambiente INSTALL_ROOT
:
sudo INSTALL_ROOT=/opt/sbcl-2.1.9 sh install.sh
Ao final do comando acima, se tudo correu bem, você verá algo como o seguinte:
Para finalizar eu gosto de criar um link simbólico mais simples para o diretório, com:
sudo ln -sfn /opt/sbcl-2.1.9 /opt/sbcl
Isso me permite ter diversas versões do SBCL instalado e manter um link simbólico simples (/opt/sbcl
) apontando para a versão padrão que vou utilizar.
3. Ajuste das variáveis de ambiente
Para terminar a configuração precisamos ajustar alguams variáveis de ambiente: a PATH
e a SBCL_HOME
. Faça a configuração dessas variáveis no arquivo ~/.bashrc
(ou .bashrc_profile dependendo de sua distribuição Linux), acrescentando por exemplo:
export SBCL_HOME="/opt/sbcl/lib/sbcl" export PATH="/opt/sbcl/bin:$PATH"
4. Hora da verdade
Abra um terminal, digite sbcl
e tecle Enter. Se tudo correr bem você verá o prompt do SBCL:
Parabéns, agora você está com o SBCL instalado, configurado e rodando!
É possível ajustar alguams coisas e realizar ações (por exemplo, carregar bibliotecas) durante a inicialização do SBCL através do arquivo ~/.sbclrc
, mas falaremos disso posteriormente. Por hora basta saber que se existir em seu diretório home o arquivo .sbclrc
o SBCL carregará o que estiver nesse arquivo no momento de sua inicialização.