Kompilace SeaMonkey v Mandrivě 2006

Petr Wiedemann, 14. únor 2009

Toto mini howto popisuje kompilaci SeaMonkey v 64 bitové distribuci Mandrivy 2006. Nejprve je třeba stáhnout archív se zdrojáky z ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/ a jeho obsah rozbalit. V adresáři mozilla vytvořit soubor .mozconfig (na začátku je tečka). Do souboru vložit tento text:

mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt
ac_add_options --enable-optimize
ac_add_options --disable-debug

Potom v adresáři mozilla spustit make -f client.mk build a počkat, až se vše přeloží. Po dokončení kompilace spustit make -C suite-opt/xpinstall/packager installer a tím vytvořit instalátor. Vznikne soubor suite-opt/installer/sea/seamonkey-1.0.6.en-US.linux-x86_64.installer.tar.gz , který lze potom kamkoliv nahrát, rozbalit a aplikaci z něj nainstalovat. Obsah tohoto archívu je zároveň v adresáři suite-opt/installer/raw. Takže cd suite-opt/installer/raw a tam spustit ./seamonkey-installer (pravděpodobně jako root, podle toho, do jakého adresáře se má instalovat). Tím se spustí grafický instalátor … pak už je snad všechno jasný :)

Postup pro konfiguraci a instalaci na mozilla.org
http://developer.mozilla.org/en/docs/Configuring_Build_Options
http://developer.mozilla.org/en/docs/Build_and_Install

Po spuštění make -f client.mk build se proces možná zastaví při kontrole dostupnosti knihoven, které jsou potřeba. Pokud se to stane, musí se doinstalovat jejich devel balíčky. Všechny potřebné jsou k dispozici ve správci instalací.
Jestli kontrola proběhne v pohodě, může se ještě kompilace zastavit a psát podobnou chybu: relocation R_X86_64_PC32 against memcpy@@GLIBC_2.2.5 can not be used. Potom se musí do souboru .mozconfig přidat na začátek řádek ac_cv_visibility_pragma=no takže soubor .mozconfig bude vypadat takhle:

ac_cv_visibility_pragma=no
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt
ac_add_options --enable-optimize
ac_add_options --disable-debug

Potom doporučuju ještě spustit v adresáři mozilla: ./configure && gmake distclean tím zdrojáky pročistit od případnýho bordelu z předchozího maku a potom opět make -f client.mk build

Řešení tohoto problému je na http://benjamin.smedbergs.us/blog/2005-10-27/gcc-40-workaround/