Error while compiling resources com o Lazarus 0.9.29.0-20100510 no Ubuntu 10.04

por Marcos Elias

O mundo open source é um eterno labirinto beta, onde as coisas estão em constantes desenvolvimento. Tem hora que isso me dá raiva. Em geral no Windows basta clicar em Avançar > Avançar > Concluir. Pronto. Tá funcionando. Já no sistema mais “geek”…

Se você não consegue compilar projetos com o Lazarus (compilações recentes) no Ubuntu 10.04 (caso aqui, mas pode ser que ocorra em outra distro também) com esse erro…

project1.lpr(19,1) Error: Error while compiling resources

Saiba que não está sozinho.

Esse erro anda acontecendo mesmo ao abrir o Lazarus e criar um novo projeto vazio, só com o formulário padrão dele, sem mexer nadinha no código. Ao mandar compilar, pá, Error while compiling resources…

O problema “pode ser resolvido temporariamente” dessa forma:

Copie os arquivos finddlgunit.lfm e replacedlgunit.lfm da pasta /usr/lib/lazarus/0.9.29/lcl/forms para a pasta /usr/lib/lazarus/0.9.29/lcl/units/i386-linux.

Vi isso depois de dias de pesquisa coçando a cabeça tentando achar a solução. A salvação veio no fórum do Lazarus/FreePascal (vlw Alejandro Lavarello, Marelis e a todo mundo lá :D ).

{UPDATE 2010-06-21}
Estava tentando portar o Mondego Mini pro Linux (uma versão em teste menor do Mondego Player, com recursos mais básicos e portable). Aí advinha só? Pá, error while compiling resources… Aff. Um projeto novo agora compilava (deve ser a mágica daqueles arquivos copiados para a outra pasta) mas o projeto que criei no Windows, não. Mas não desisti, apesar de ter ficado decepcionado e com a cabeça quente (e sim, xingado as mães dos programas envolvidos).

Pelo que percebi, o compilador do Lazarus para Linux se atrapalha com alguns resources criados na versão para Windows. Ou pode ser que seja por causa do compilador, no Windows estava com o FPC 2.4.1, e no Linux (Ubuntu 10.04) com o 2.4.0. Vai saber.

A solução para o erro “while compiling resources”… foi essa: ir no menu Projeto > Publicar projeto (Project > Publish Project). Aí você escolhe uma pasta qualquer para colocar o novo código fonte e depois edita ele na plataforma desejada (seria o código fonte que poderia ser redistribuído, sendo “mais limpo”, sem conter arquivos temporários, etc). Bom, funcionou. Fica a dica então se você tentar abrir o mesmo projeto no Windows e Linux, ou versa-vice, e ele não compilar.

O que não gosto dessa opção é que algumas propriedades do projeto são perdidas, no Windows vi perder o ícone. Tudo bem que é só deixar na pasta e depois refazer, mas acaba sendo uma chatisse a mais. Bom, acho que é querer muito, né? O Lazarus já faz demais. Espero que na versão 1.0 eles corrijam esse lance dos recursos (resources), deixando compilar independente da plataforma. Se não der, o máximo que vc teria que fazer é isso, ir em Projeto > Opções do Projeto, e redefinir as propriedades que lhe interessar, como o ícone.
{FIM UPDATE}

Software livre é maravilhoso, mas tem horas que irrita viu. Afinal ficar dias procurando a saída para poder compilar meus projetos… É no mínimo desanimador.

Bom, pelo menos é livre. Se fosse proprietário e desse esse erro, em vez de alguns dias a solução poderia levar semanas ou meses, ou nem aparecer, se dependesse do suporte de certas empresas.

Desculpe o desabafo, falei mal porque fiquei irritado de verdade com o Lazarus. E a culpa nem deve ser do Linux, e sim do empacotador dos pacotes .deb disponíveis nas compilações diárias/semanais. Seria falha humana? rs. Bom, vai ver a culpa nem foi dele, mas de algum outro fator… Que seja. O que importa é que agora está funcionando e o Lazarus é show!

comments powered by Disqus