Compilando e Instalando a biblioteca Allegro 5 no Ubuntu

Olá pessoal! Neste post vou mostrar como obter a nova versão da biblioteca Allegro e como instalá-la em um computador rodando Ubuntu. Realizei os testes utilizando o Ubuntu 11.04, mas o processo deve ser o mesmo em versões anteriores ou mais novas.

Bom, o primeiro passo é instalarmos as dependências para a compilação e execução da biblioteca. Abra uma janela do Terminal. Nela, digite o seguinte comando para instalar as dependências obrigatórias:

Neste processo, será pedido sua senha e a confirmação para iniciar o download dos pacotes. O próximo passo é instalar as bibliotecas necessárias à compilação dos módulos da Allegro 5. Para isso, digite no Terminal:

Por último, caso queira também construir os arquivos de documentação da biblioteca, execute no Terminal:

Após concluir as instalações dos pacotes, vamos baixar o código-fonte da Allegro 5 para compilarmos. Ainda no Terminal, digite o comando:

Este comando baixará o código-fonte dos repositórios oficiais e colocará em uma pasta chamada allegro-5.0. Agora, vamos navegar para a pasta e preparar os arquivos para a instalação. No Terminal, digite os seguintes comandos:

Com isso, já teremos os arquivos preparados para realizar a instalação. Para finalizar, digite no Terminal:

Pronto! Após a conclusão do processo, já deveremos ter a biblioteca devidamente instalada e pronto para ser utilizada.

Para testarmos se a biblioteca foi instalada corretamente, edite um arquivo no gedit ou no vim com o seguinte código (no meu caso, salvei com o nome de main.c:

Para compilar e executar o programa, basta digitar no Terminal:

Pronto! Se deu tudo certo, aparecerá uma janela preenchida de branco que permanecerá na tela por 10 segundos.

Espero que ajude, e aguardem por mais posts sobre a Allegro 5! Até a próxima! 😀

48 comentários sobre “Compilando e Instalando a biblioteca Allegro 5 no Ubuntu

  1. camila disse:

    olá.
    fiz tudo como mandava acima mas dá esse erro:
    main.c: In function ‘main’:
    main.c:27:24: error: ‘display’ undeclared (first use in this function)
    main.c:27:24: note: each undeclared identifier is reported only once for each function it appears in

    o que eu faço ?

    Curtir

  2. Emerson Zotti disse:

    oi fiz tudo o que diz ai em cima,
    compila mas na hora de rodar o programa aparece esse erro:
    failed to create drawable
    X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
    Major opcode of failed request: 55 (X_CreateGC)
    Resource id in failed request: 0x4400002
    Serial number of failed request: 25
    Current serial number in output stream: 27

    saberia o porque?

    Curtir

    • Rafael disse:

      Nunca tive esse tipo de problema executando aplicativos em Allegro 5 (já fiz testes em pelo menos uns 5 computadores). Pesquisando sobre o erro, encontrei esse tópico no fórum da Allegro dizendo que o problema pode ser o fato de estar executando em máquina virtual. É o seu caso? Se for, aparentemente é algum problema na ativação do OpenGL.

      Curtir

  3. Daniel San disse:

    Alguém já conseguiu instalar o Allegro 5 no Ubuntu 11.10? Eu segui os passos desse tutorial e apresenta o seguinte erro quando compilo:
    /tmp/ccuTfqPo.o: In function `main’:
    main.c:(.text+0x22): undefined reference to `al_install_system’
    main.c:(.text+0x66): undefined reference to `al_create_display’
    main.c:(.text+0xb0): undefined reference to `al_map_rgb’
    main.c:(.text+0xe9): undefined reference to `al_clear_to_color’
    main.c:(.text+0xee): undefined reference to `al_flip_display’
    main.c:(.text+0xfb): undefined reference to `al_rest’
    main.c:(.text+0x107): undefined reference to `al_destroy_display’
    collect2: ld returned 1 exit status
    Me ajudem por favor!!! Preciso instalar o Allegro para fazer um projeto da minha faculdade. Já segui alguns tutorias mais ainda nada :/
    http://www.rafaeltoledo.net/out-of-series-3-configurando-a-biblioteca-allegro-no-codeblocks-ubuntu/
    https://sites.google.com/a/liesenberg.biz/cjogos/home/software/ambiente-code-blocks-allegro-5
    e ainda não consegui fazer funcionar nem no Terminal nem no Code::Blocks

    Curtir

      • Danilo Alves disse:

        Olá Rafael, boa tarde.
        Eu estou tendo o mesmo problema do Daniel. Porém não entendi como devo resolvê-lo.
        Mesmo executando a linha de comando “gcc -lallegro -oteste main.c” o erro persiste.

        Curtir

  4. Daniel San disse:

    Cara muito o brigado por responder tão rápido. Fiz o que você disse mas agora deu o seguinte problema:

    daniel@GNULINUX:~$ gcc -Wall main.c -o teste -lallegro
    main.c:1:21: erro fatal: allegro.h: Arquivo ou diretório não encontrado
    compilação terminada.

    Percebi que quando uso #include ele da um outro erro no Code::Blocks: cannot find -lallegro_physfs

    Quando uso #include da esse erro ai de cima no terminal e no Code::Blocks.

    Segue o link da pergunta que eu fiz no ubuntuforum-br sobre isso, onde eu coloquei tudo o que eu já consegui fazer e o que esta dando errado, está tudo bem explicado la.
    http://ubuntuforum-br.org/index.php?topic=90517.msg498051#msg498051
    Se puder mu ajude com isso, ficarei muito grato 🙂

    Curtir

  5. Daniel San disse:

    O pior é que esta certo mesmo, o #include e tudo mais, pois um amigo meu está usando Windows e funciona de boa. O problema é como se esses arquivos não estivessem ligados ao compilador. Como se eles só tivessem sido copiados para la e mais nada. Alguma ideia? Nem o Code::Blocks está Compilando os códigos com o Allegro. Só pega se eu instalar o allegro 4.2.2 porque esta nos repositórios ai o Ubuntu instala tudo via apt-get.

    Curtir

    • Rafael disse:

      É cara… então não sei mesmo. As bibliotecas, quando você roda o “make install” na hora da compilação, são instaladas em /usr. É lá que o GCC procura os arquivos na hora de compilar (pastas include, lib e bin). Então é realmente estranho não estar encontrando…

      Curtir

  6. Matheus Marques disse:

    Rafael seu blog me ajudou muito com o Allegro, mas eu ainda nao consegui rodar o Allegro de forma efetiva. Por alguma razão ra um erro em tempo de execução e eu nao sei resolver. Esse problema esta no dentro do vector.c dentro dos subdiretorios da pasta Allegro-5.0.6

    al_vector_alloc_back: Assertion `vec->_itemsize-> 0′ failed
    Aborted

    Voce tem idea do que possa ser isso?

    Curtir

    • Olá Matheus!

      Você está conseguindo compilar outros programas normalmente (ex. apps em console)? Se sim, você já conseguiu compilar outros aplicativos em Allegro 5? Durante a instalação houveram erros ou avisos (warnings)? Dê uma conferida nesses pontos, pois pode lhe ajudar a encontrar o erro. Se nada disso adiantar, você pode pedir uma ajuda nos fóruns oficiais (http://www.allegro.cc/forums/). Nos exemplos que rodei, todos no Windows 7 e Ubuntu 11.10, não tive esses problemas.

      Curtir

    • Olá Matheus! No primeiro dos tutoriais de Allegro (http://www.rafaeltoledo.net/tutorial-allegro-5-criando-uma-janela/), eu falo em como instalar a versão para Windows. Esse erro que você teve ocorre porque ele não está encontrando as bibliotecas para linkar com o aplicativo. Se você está utilizando Windows, e assumindo que você já tem as bibliotecas da Allegro na pasta do seu compilador, basta adicionar a seguinte opção ao linker:

      -lallegro-5.x.x-mt

      Por exemplo, se estiver utilizando a versão 5.0.6:

      -lallegro-5.0.6-mt

      Espero ter ajudado! 🙂

      Curtir

  7. João Paulo Albuquerque de Lima disse:

    fiz tudo como indicado, mas no segundo passo o terminal apresenta esse erro:

    “Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    Note, a seleccionar ‘libpng12-dev’ em vez de ‘libpng-dev’
    Note, a seleccionar ‘zlib1g-dev’ em vez de ‘libz-dev’
    Note, a seleccionar ‘libjpeg62-dev’ em vez de ‘libjpeg-dev’
    O pacote libasound-dev é um pacote virtual fornecido por:
    liboss4-salsa-dev 4.2-build2004-1ubuntu2
    libasound2-dev 1.0.24.1-0ubuntu10
    Você deveria selecionar explicitamente um para instalar.

    E: O pacote ‘libasound-dev’ não tem candidato para instalação”

    ai quando vou tentar compilar o codigo ele apresenta esse erro:

    “01.c:2:30: erro fatal: allegro5/allegro.h: Arquivo ou diretório não encontrado
    compilação terminada.”

    sera que tem como me ajudar? estou precisando instalar a allegro para poder fazer um projeto da faculdade.

    Curtir

  8. João Paulo Albuquerque de Lima disse:

    rafael, fiz o que diz no wiki oficial mas tbm continua ñ achando a biblioteca, sera que falta associar a biblioteca ao gcc, tipo uma variavel de ambiente? do windows.

    Curtir

    • Olá João! Compilei a biblioteca da forma como está no tutorial em uma instalação “limpa” do Ubuntu 12.04, e obtive erros de referência na hora de compilar.

      /tmp/ccoBTtwp.o: In function `main':
      main.c:(.text+0x22): undefined reference to `al_install_system'
      main.c:(.text+0x66): undefined reference to `al_create_display'
      main.c:(.text+0xb0): undefined reference to `al_map_rgb'
      main.c:(.text+0xe9): undefined reference to `al_clear_to_color'
      main.c:(.text+0xee): undefined reference to `al_flip_display'
      main.c:(.text+0xfb): undefined reference to `al_rest'
      main.c:(.text+0x107): undefined reference to `al_destroy_display'
      collect2: ld returned 1 exit status

      Para resolver, primeiramente, rodei o ldconfig:

      sudo ldconfig

      Ainda não tinha resolvido. Então, experimentei apenas modificar a ordem dos parâmetros e, misteriosamente, funcionou:

      gcc main.c -omain -lallegro

      Acredito que isso possa ser alguma coisa com relação a uma versão nova do GCC.

      Espero ter ajudado!

      Curtir

  9. João Paulo disse:

    opa, ja é uma noticia boa, mais tarde quando eu pegar o meu not vou tentar fazer esse esquema, espero que funcione aqui tbm.

    desde ja agradeço pela atenção rafael.

    Curtir

  10. João Paulo Albuquerque de Lima disse:

    oi rafael, aqui continua dando o mesmo erro. dizendo que não encontrou a biblioteca allegro so que ela ja esta instalada, tem algum parametro para fazer o gcc reconhecer onde a allegro esta?

    Curtir

  11. João Paulo Albuquerque de Lima disse:

    o comando é que ñ ta dando certo

    $ pkgconfig –libs allegro5
    No command ‘pkgconfig’ found, did you mean:
    Command ‘pkg-config’ from package ‘pkg-config’ (main)
    pkgconfig: command not found

    Curtir

  12. João Paulo Albuquerque de Lima disse:

    ta retornando normal, ñ to entendendo pq ñ ta compilando. as pastas tão ok, os arquivos allegro.h e aleegro5.h estão no pc mas nada da certo :S

    Curtir

  13. João Paulo Albuquerque de Lima disse:

    opa rafael, passando pra avisar que achei o erro, os arquivos nao estavam na pasta usr/include, agora vou ter que copiar arquivo por aquivo pra la.
    valeu pela ajuda.

    Curtir

  14. Arthur disse:

    Queria saber porque quando eu compilo usando o comando:

    gcc -lallegro -oteste main.c

    aparecem os seguintes erros:
    root@albm:/home/arthur/Área de Trabalho# gcc -lallegro -oteste main.c
    /tmp/cc3QzHhF.o: In function `main’:
    main.c:(.text+0x28): undefined reference to `al_install_system’
    main.c:(.text+0x75): undefined reference to `al_create_display’
    main.c:(.text+0xd0): undefined reference to `al_map_rgb’
    main.c:(.text+0xf3): undefined reference to `al_clear_to_color’
    main.c:(.text+0xf8): undefined reference to `al_flip_display’
    main.c:(.text+0x106): undefined reference to `al_rest’
    main.c:(.text+0x111): undefined reference to `al_destroy_display’
    collect2: ld returned 1 exit status

    Mas quando eu compilo assim:
    gcc -Wall main.c -o teste -lallegro

    Da tudo certo normal ?

    Curtir

  15. Vinícius Oliveira disse:

    Não consegui compilar o código, apresenta o erro main.c:2:21: erro fatal: allegro.h: Arquivo ou diretório não encontrado. Na instalação não foi criada nenhuma pasta em usr/lib, include, bin. Eu criei essas pastas em include e lib e passei os arquivos que estavam nas pastas include e lib que estavam dentro da pasta allegro-5.0 , que foi criado na instalação. Eu não encontrei nenhuma pasta bin. Que pasta eu deve mover para usr/bin?

    Curtir

  16. Ediomar Lucas Ruzycki disse:

    Ei rafael sou novo em ubuntu :p… o meu da esse erro: *** sem regra para processar o alvo ‘sudo’. pare. isso esta ocorrendo no ultimo passo … Oque eu faço???

    Curtir

  17. Rich-san disse:

    Instalei a biblioteca corretamente com sucesso, porém qdo eu executo o codigo compilado fornecido no tutorial, me retorna apenas uma tela preta que só é fechada se eu interromper a aplicação com ctrl+c, no terminal aparece a seguinte mensagem:

    X Error of failed request: BadAlloc (insufficient resources for operation)

    Major opcode of failed request: 154 (GLX)

    Minor opcode of failed request: 24 (X_GLXCreateNewContext)

    Serial number of failed request: 27

    Current serial number in output stream: 29

    acho que tem algo errado né?

    Curtir

  18. Lucas Emanuel disse:

    Opa… Cara, eu fiz tudo como no tutorial e estava resultando em erros de referência. Eu executei os comandos que você explicou nas respostas, então deu erro de diretório, peguei os arquivos da “allegro” e o “allegro.h” e joguei tudo no allegro5, e agora está dando erro do: ALLEGRO_DISPLAY unknown type name.
    Poderia me ajudar?

    Curtir

  19. Gabriel Missono disse:

    Eu tenho instalado o Ubuntu 15.04 em um Pendrive
    Ao tentar inserir o segundo codigo, aparece o seguinte erro

    E: Impossivel encontrar o pacote libopenal-dev
    E: Impossivel encontrar o pacote libphysfs-dev
    E: Impossivel encontrar o pacote libdumb1-dev

    Curtir

  20. Alvaro Baungartner Junior disse:

    Boa tarde.
    Alguém pode ajudar?
    Na instalação do Allegro5, após:
    sudo apt-get install libpng-dev libz-dev libcurl4-gnutls-dev libfreetype6-dev libjpeg-dev libvorbis-dev libopenal-dev libphysfs-dev libgtk2.0-dev libasound-dev libflac-dev libdumb1-dev

    deu este erro…
    Os pacotes a seguir têm dependências desencontradas:
    libgtk2.0-dev : Depende: libatk1.0-dev (>= 1.29.2) mas não será instalado
    E: Impossível corrigir problemas, você manteve (hold) pacotes quebrados.

    Uso Ubuntu Linux

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.