sábado, 20 de agosto de 2011

Resolvendo problemas de compilação dos softwares do Mozilla

Não tive muito tempo para postar nos últimos dias, mas hoje vou deixar umas dicas de compilação de alguns programas do Mozilla (Firefox, Thunderbird e Seamonkey) que dão alguns erros nas últimas versões. Tá certo que já existem pacotes prontos nas diversas distribuições mas existem casos que é melhor compilar. Por exemplo eu uso Debian mas não quero Iceweasel e sim Firefox num ambiente 64 bits. Então eu pego os fontes do Ubuntu recompilo os pacotes para se adaptar na Debian.


Aqui vão dois erros que estão acontecendo comigo e como fiz para solucionar:


curl/types.h not found


Um erro assim ocorre justamente no Debian sid já que a versão mais nova do curl tornou o types.h obsoleto, quebrando alguns programas.


Workaround: 
Instale os pacotes libcurl3_7.21.0-2 e libcurl4-openssl-dev_7.21.0-2 do wheezy ou os equivalentes nas outras distrbuições até que se resolva o problema no libcurl ou nos outros programas.


../coreconf/config.mk:71: ../coreconf/Linux3.0.mk: Arquivo ou diretório não encontrado


Este problema só ocorre quando se usa a versão 3.0 do kernel recém lançado. Neste caso tem um workaround bem mais fácil.


Entrando na pasta mozilla/security/coreconf tem vários arquivos sendo que um deles é o   Linux2.6.mk. Como sabemos que a diferença principal entre o kernel 2.6.x e o 3.0 é apenas na numeração, podemos simplesmente usar um dos dois comandos:


ln -s Linux2.6.mk Linux3.0.mk
ou
cp Linux2.6.mk Linux3.0.mk


Manda compilar e problema resolvido.


Tenham um bom final de semana.