ALua

Anterior: O sistema ALua
Índice
Próximo: A API do ALua 6.0

3 - Como instalar o ALua 6.0

Este documento demonstra, passo a passo, o processo de instalação do ALua 6.0 e de suas dependências, que são os seguintes módulos, a saber:

Os procedimentos descritos para a instalação de cada uma dessas depêndencias e do ALua em si tomam como base uma máquina Linux dotada de uma Korn Shell (ou compatível), de uma ferramenta GNU make e de um compilador C compatível com o GCC.

3.1 - Instalando Lua

Lua é a linguagem de programação na qual ALua é escrito e se baseia para montar e executar aplicações. Para baixá-la, vá até o site http://www.lua.org/ e siga os links correspondentes. A versão 6.0 do ALua utiliza a versão 5.1 de Lua — no momento da escrita deste documento, a versão estável de Lua era a 5.1.3.

O primeiro passo consiste em descompactar o Lua.

    $ tar xfzv lua-5.1.3.tar.gz

Agora, entre no diretório "lua-5.1.3" e abra para edição o arquivo de nome Makefile. Você deverá encontrar um conjunto de linhas associando valores a variáveis de ambiente. Agora precisamos escolher onde vamos instalar o Lua. Há duas possibilidades; ou o instalamos no espaço "global" do sistema, o que requer acesso privilegiado no sistema (acesso de root), ou em algum diretório dentro do nosso diretório de trabalho (home), para que só nós possamos usá-lo. Para tanto, basta modificar a variável INSTALL_ROOT para o diretório no qual gostaríamos de instalar a linguagem. Neste guia, assumiremos que não temos acesso root e, portanto, a instalação será feita dentro da nosso home.

Alteramos então a entrada

   INSTALL_ROOT= /usr/local
Para
   INSTALL_ROOT= /home/pedro/lua

Também precisamos indicar para o ambiente Lua onde ele deve procurar os módulos adicionais. Assim, precisamos editar o arquivo luaconfig.h que se encontra dentro do diretório src. Procure a seguinte linha

   #define LUA_ROOT        "/usr/local/"

e altere o valor para ser o mesmo usado na variável INSTALL_ROOT configurada acima, por exemplo,

   #define LUA_ROOT        "/home/pedro/lua/"

Atenção, é importante manter a barra ("/") no final!

Com isso os módulos adicionais de Lua serão procurados nos diretórios /home/pedro/lua/share/lua/5.1 e /home/pedro/lua/lib/lua/5.1. No primeiro diretório ficarão os módulos escritos exclusivamente em Lua e no segundo os módulos em formato binário, ou seja, bibliotecas dinâmicas comumente desenvolvidas na linguagem C.

Com essas poucas modificações, estamos prontos para compilar a linguagem. Se você estiver dentro do diretório src, volte para o diretório "lua-5.1.3". Prossiga efetuando o comando 'make linux' para compilar.

   $ make linux

Por padrão, a compilação para ambiente Linux usa as bibliotecas ncurses e readline. Caso o comando 'make linux' apresente um erro por não encontrar essas bibliotecas há duas soluções. A primeira é, obviamente, instalar os pacotes de desenvolvimento ncurses e readline da sua distribuição Linux. Por exemplo, em algumas distribuições esses pacotes são libncurses5-dev e libreadline5-dev.

Caso não seja possível instalar tais bibliotecas, a alternativa é redefinir os parâmetros de compilação de Lua, alterando o arquivo Makefile que se encontra dentro do diretório src. Procure a linha de compilação de Lua para sistemas Linux

   linux:
       $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"

e altere os valores de MYCFLAGS e MYLIBS para

   linux:
       $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E -ldl"

Volte ao diretório "lua-5.1.3", caso não esteja, e tente compilar novamente com o comando

   $ make linux

Após a compilação, execute o comando

   $ make install

para realizar a instalação de Lua. Para verificar o sucesso da instalação, você pode executar o interpretador Lua:

   $ ~/lua/bin/lua
   Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
>

É recomendado que você adicione o local onde o binário do Lua foi instalado (no nosso caso /home/pedro/lua/bin) ao PATH da sua shell. Isso pode ser feito diretamente da linha de comando,

 $ export PATH=/home/pedro/lua/bin:$PATH

que fica valendo até a shell ser fechada, ou a partir do arquivo de inicialização da sua shell (.bashrc, .profile. .zshrc, ou equivalente), que é a opção mais indicada.

3.2 - Instalando o LuaSocket

LuaSocket é a biblioteca usada por ALua para o transporte de dados via rede. Faça download do arquivo luasocket-2.0.2.tar.gz e siga os passos para a instalação.

Comece descompactando o pacote:

   $ tar xfzv luasocket-2.0.2.tar.gz

No diretório luasocket-2.0.2, modifique o arquivo config, indicando na variável LUAINC onde os cabeçalhos (os arquivos .h) da biblioteca de Lua 5.1 foram instalados. De acordo com o nosso exemplo, esses arquivos se encontram no diretório /home/pedro/lua/include. Então, a definição da variável é a seguinte:

   LUAINC=-I/home/pedro/lua/include

Note o "-I" antes da indicação do diretório.

Ainda no arquivo config, você deve indicar os diretórios onde os arquivos do LuaSocket deverão ser instalados. As variáveis INSTALL_TOP_SHARE e INSTALL_TOP_LIB indicam esses diretórios. Essas variáveis devem apontar para os mesmo diretórios definidos no arquivo luaconf.h (vide a instalação de Lua na seção anterior). De acordo com este roteiro, as variáveis devem ser modificadas para os seguintes valores:

  INSTALL_TOP_SHARE=/home/pedro/lua/share/lua/5.1
  INSTALL_TOP_LIB=/home/pedro/lua/lib/lua/5.1

Agora, basta usar o comando 'make' para compilar o LuaSocket e instalar os módulos, como segue:

  $ make
  $ make install

Para testar a instalação, tente carregar a biblioteca:

  $ lua
  Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
  > require("socket")
  >

3.3 - Instalando o LuaTimer

LuaTimer é uma biblioteca que oferece a capacidade de se utilizar temporizadores em Lua. Você pode baixar o arquivo aqui.

O primeiro passo consiste em descompactar a biblioteca.

  $ tar xfzv luatimer-2.0.1.tar.gz

Então, entre no diretório "luatimer-2.0.1/unix". Se Lua não estiver instalada nos diretórios padrões do sistema (como é o caso do nosso guia), devemos editar o arquivo Makefile para que descreva corretamente nosso ambiente de compilação. Nesse arquivo, a única modificação necessária será na linha que define LUAINC. Primeiro, retire o caractere '#', para que a variável seja reconhecida, e depois informe onde os cabeçalhos (os arquivos .h) da biblioteca de Lua 5.1 foram instalados, após o "-I". Assumindo os passos deste roteiro, o valor da variável será:

   LUAINC=-I/home/pedro/lua/include

Em seguida, execute

   $ make linux

para compilar a biblioteca para a plataforma Linux.

Para instalar o LuaTimer, copie o arquivo luatimer.so para o diretório de módulos binários de Lua (em caso de dúvida, vide a seção de instalação de Lua 5.1). Pelo nosso roteiro, o arquivo deveria ser copiado para o diretório /home/pedro/lua/lib/lua/5.1. Também copie o arquivo luatimer.lua, que se encontra no diretório "luatimer-2.0.1/lua" para o diretório de módulos Lua, neste caso, o diretório /home/pedro/lua/share/lua/5.1.

Para testar a instalação, tente carregar o módulo LuaTimer:

   $ lua
   Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
   > require("luatimer")
   >

3.4 - Instalando o ALua 6.0

Uma vez que todas as dependências do ALua estiverem instaladas, obtenha a verão 6.0 e descompacte-a:

 $ tar xfzv alua-6.0.tar.gz

Entre no diretório "alua-6.0/unix". Se Lua não estiver instalada nos diretórios padrões do sistema (como é o caso do nosso guia), devemos editar o arquivo Makefile para que descreva corretamente nosso ambiente de compilação. Localize a linha onde a varíavel LUAINC é definida. Retire o caractere '#', para que ela seja reconhecida e depois informe onde os cabeçalhos (os arquivos .h) da biblioteca de Lua 5.1 foram instalados, após o "-I". Assumindo os passos deste roteiro, o valor da variável será:

   LUAINC=-I/home/pedro/lua/include

Em seguida, execute

   $ make linux

para compilar a biblioteca para a plataforma Linux.

Copie o arquivo alua.so para o diretório de módulos binários de Lua (por este guia, /home/pedro/lua/lib/lua/5.1). Copie também o arquivo alua.lua e o diretório alua para o diretório de módulos escritos em Lua (/home/pedro/lua/share/lua/5.1).

Para testar a instalação, tente carregar o módulo alua.

   $ cd /home/pedro
   $ lua
   Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
   > require("alua")
   >

Última atualização: 06-Out-2008 18:08