Compilation d'OpenOffice.org1.1.x description complète pour la version Linux PowerPC

[Document réalisé par eric bachard pour le labo du projet francophone d'OpenOffice.org, et sous la même licence que la documentation habituelle de ce projet ]

A) Récupération des sources

Il faut avoir un client cvs d'installé sur sa machine. Sinon, installez-en un ;-))

Ensuite, créer le répertoire qui contiendra toutes les sources. Il sera appelé $SRC_DIR dans la suite.

Chez moi, c'est par exemple /home/eric/OpenOffice.org1.1.4 pour la 1.1.x.

IMPORTANT : il faut se placer *dans $SRC_DIR* pour exécuter les commandes qui suivent, car sinon, les sources (~800Mo) vont arriver à l'endroit où vous vous trouvez, avec les conséquences que cela entraîne...
Ensuite, on suppose que le shell est bash :

1) Création du répertoire contenant les sources du logiciel

mkdir ~/OpenOffice.org1.1.4 #(la 1ère fois, seulement)

cd OpenOffice.org


2) Déclaration du serveur CVS :

$ export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"


3) Login :

$ cvs login


4) Mot de passe :

Logging in to :pserver:anoncvs@anoncvs.services.openoffice.org:2401/cvs
CVS password:

"anoncvs" est le mot de passe


5) Retrait des sources :

$ cvs -z4 co -r SRX645_mXX OpenOffice

Remarques : -z4 pour que le serveur compresse les sources, XX=48 actuellement. Pour les mises à jour, cvs update suffit (après s'être logué, bien entendu...)


6) On se déconnecte

cvs logout

À ce jour, le c'est 645m48 le "milestone" le plus avancé. Pour trouver les noms des "milestones" :

<http://eis.services.openoffice.org/EIS2/servlet/GuestLogon>


B) Il faut autre chose que les sources...


1) Création du répertoire solver/645/unxlngppc.pro/pck

[cette partie 1) est facultative pour la compilation (binaires non stripés]

N.B. : unxlngppc.pro sur linux PPC, sinon, c'est unxmacxp.pro sur Mac OS X.

Ensuite récupération du fichier contenant les archives prêtes à être utilisées.

L'adresse : <ftp.stardiv.de/pub/OpenOffice.org/contrib/helpcontent>

Le fichier qui nous intéresse est helpcontent_33_unix.tgz

Ensuite, décompresser cette archive quelque part, et placer le contenu dans

le répertoire $SRC_DIR/solver/645/unxlngppc.pro/pck précédemment créé.


Remarque : 01 = anglais_US , 33 = français , 31 = néérlandais ; 49 = allemand...à vous de voir la localisation que vous souhaitez ajouter pour l'aide, sachant que par défaut, c'est en_US ou allemand.

Ce n'est pas obligatoire de faire ça avant la compilation, mais comme ça, on n'oublie pas, et on n'aura pas l'aide en anglais une fois la nouvelle build installée ;-)


2) Installation de Java

-> pour Linux PowerPC seulement. Pas d'inquiétude : pour Linux x86, c'est presque pareil ;-) :

JRE signifie Java Runtime Environnement et SDK Software Developpement Kit. C'est donc le second type d'archive dont nous avons besoin ici.

On trouvera l'archive qui convient ici : <ftp://ftp.stardiv.de/pub/OpenOffice.org/contrib/linuxppc>

Son nom est j2sdk-1.3.1-02d-FCS-linuxppc.bin

Pour l'installer, il faut rendre le fichier exécutable, le placer dans /usr/local, et lancer l'installation en tapant le nom de l'archive + entrée ...si on répond bien aux questions, c'est tout bon.


NB : ne pas oublier d'ajouter la ligne export JAVA_HOME=/usr/local/j2re1.3.1 dans le fichier /etc/profile, se déloguer et se reloguer ensuite. La commande set | grep JAVA vous dira si c'est bon ;-)


3) Archives complémentaires Java

Il faudra ensuite placer les fichiers crimson.jar, xalan.jar et xml-apis.jar suivants dans le répertoire $SRC_DIR/external/common/

Pour récupérer ces fichiers, il faut les télécharger sur les sites suivants :

<http://xml.apache.org/dist/crimson>

-> prendre crimson-1.1.1-bin.zip et le dézipper pour obtenir crimson.jar


<http://xml.apache.org/xalan-j/downloads.html>

-> prendre xalan-j_2_5_0-bin.zip pour obtenir xalan.jar après l'avoir dézippé.


<http://www.apache.org/dist/xml/xerces-j/

-> prendre Xerces-J-tools.2.6.2.zip pour obtenir xml-api.jar

Chez moi, cela donne :

eric@alube:~/OpenOffice$ ls -l ./external/common/
total 2248
-rw-r--r-- 1 eric eric 205045 2001-11-01 07:26 crimson.jar
drwxr-xr-x 2 eric eric 4096 2004-10-06 12:03 CVS
-rw-r--r-- 1 eric eric 5618 2000-10-10 14:28 jaxp.jar
-rw-r--r-- 1 eric eric 136133 2000-10-10 14:28 parser.jar
-rw-r--r-- 1 eric eric 94 2003-10-27 16:51 README.jaxp
-rw-r--r-- 1 eric eric 94 2003-10-27 16:51 README.xt
-rw-r--r-- 1 eric eric 997276 2004-03-21 14:37 xalan.jar
-rw-r--r-- 1 eric eric 124724 2004-03-21 14:37 xml-apis.jar
-rw-r--r-- 1 eric eric 352905 2000-10-10 14:28 xt19991105.jar
-rw-r--r-- 1 eric eric 423047 2001-01-23 12:33 xt.jar


IMPORTANT :

Si (et seulement si) cela ne fonctionne pas, alors placer ces mêmes fichiers dans $JAVA_HOME/jre/lib/ext, et cela s'arrangera.

À titre d'exemple, chez moi, j'ai, avec, $JAVA_HOME=/usr/local/j2sdk1.3.1 :


eric@alube:~$ ls -l /usr/local/j2sdk1.3.1/jre/lib/ext
total 1316
-rw-r--r-- 1 root root 205045 2001-11-01 07:26 crimson.jar
-rw-r--r-- 1 root root 997276 2004-02-20 19:47 xalan.jar
-rw-r--r-- 1 root root 124724 2004-02-20 19:57 xml-apis.jar
eric@alube:~$

Mais cette seconde installation ne devrait pas avoir lieu.



4) Generic Polygon Clipper : applelé aussi gpc

Ensuite, sauf si vous utilisez libart, il faut télécharger les sources de gpc à l'adresse suivante :

<ftp://ftp.cs.man.ac.uk/pub/toby/gpc/>

Exactement ici : <ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z>

et les placer dans external gpc. De toutes façons, si vous ne les placez pas au bon endroit, le configure plantera...:-)

lacer alors le patch external_jars.patch dans $SRC_DIR/external/ et appliquer celui-ci, comme décrit ci-dessous :

N.B. : "eric@alube:~/OpenOffice.1.1.4/external$" est l'invite du prompt,"~/OpenOffice.1.1.4" désigne ce que j'ai appelé $SRC_DIR et la commande
utile se limite à :


patch -p0 < external_jars.patch


eric@alube:~/OpenOffice.1.1.4/external$ patch -p0 < external_jars.patch
patching file prj/d.lst
eric@alube:~/OpenOffice.1.1.4/external$

Important : Le répertoire $SRC_DIR/external/ est particulièrement adapté pour placer des sources externes d'autres paquetages comme libart ou d'autres encore...



5) Patch pour noyau 2.6 (sinon, ça ne compilera pas !! )


Ce patch porte le nom de tools_kernel_26.patch, et doit être placé dans le répertoire $SRC_DIR/tools

L'application de ce patch :

eric@alube:~/OpenOffice.1.1.4/tools$ patch -p0 < tools_kernel_26.patch
patching file source/solar/makefile.mk
eric@alube:~/OpenOffice.1.1.4/tools$


IMPORTANT : Dans ce qui suit, les patches sont réservés aux versions Linux PPC et Mac OS X :

6) Installation de apache-ant

Pour cela, il faut récupérer apache-ant (version 1.6.1 pour OOo1.1.x et 1.6.1 ou 1.6.2 pour 2.x )

Le site : <http://ant.apache.org>

Exemple : <http://apache.crihan.fr/dist/ant/binaries/apache-ant-1.6.2-bin.tar.gz>

Ensuite, installer le contenu de l'archive décompressée, soit dans /usr/local, soit dans $SRC_DIR/external, mais il faudra se souvenir de l'endroit
lors du ./configure, car sinon, rien ne sera possible : ant-apache est obligatoire pour la compilation.



7) Fichiers d'en-têtes de Mozilla

Par défaut, les versions Windows, Solaris, Linux Intel sont déjà incluses. Inutile de le chercher...

Pour la versin PowerPc, ils sont identiques pour Linux PPC et pour Mac OS X.À placer dans $SRC_DIR/moz/zipped, les fichiers :

LINUXGCCPinc.zip
LINUXGCCPlib.zip
LINUXGCCPruntime.zip

Que l'on trouvera à l'adresse suivante :

<ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/build/Sources/LinuxPPC/moz/zipped/>



8) Immortalisez votre "build" :-))

Sous réserves de dire une grosse bétise, celui qui fait la compilation peut s'il le désire mettre son nom. Cela se passe dans le fichier
$SRC_DIR/offmgr/source/offap/intro/ooo.src dans lequel il suffit de commenter le nom "OOO_VENDOR" dans la macro #ifdef BUILD_SPECIAL
et de mettre le sien dans le else qui suit.
Exemple :

Attention : ça commence à la ligne 75 (les numéros sont là pour comprendre) :

75 #endif
76 #include "app.hrc"
77 #include "intro.hrc"
78
79 #ifdef BUILD_SPECIAL
80 //#define OOO_VENDOR "Sun Microsystems Inc."
81 //#define OOO_LICENSE "LGPL"
82 #define OOO_INTRO "openintro_sun.bmp"
83 #else
84 #define OOO_VENDOR "Eric Bachard (ericb)"
85 #define OOO_LICENSE "LGPL"
86 #define OOO_INTRO "openintro.bmp"
87 #endif
88
89 Bitmap RID_DEFAULT_ABOUT_BMP_LOGO
90 {

...etc



8) Patches pour le media audio de Kevin Hendricks

Pour cela, il faut récupérer les fichiers donnés en attachement sur l'issue 32737 :

<http://www.openoffice.org/issues/show_bug.cgi?id=32737>

Le fichier <http://www.openoffice.org/nonav/issues/showattachment.cgi/17012/patches_20040809.tar.gz>

contient tout ce qu'il faut. Utilisation :

8.1) décompresser ce fichier dans le répertoire $SRC_DIR

tar zxvf patches_20040809.tar.gz

8.2) décompresser les différentes archives contenues dans ce répertoire patches et copier pasfsound.cxx dans le répertoire vcl/unx/source/app/

tar -zxvf patches/sndfile.tar.gz
tar -zxvf patches/portaudio.tar.gz
tar -zxvf patches/audioplugin.tar.gz
cp patches/pasfsound.cxx vcl/unx/source/app/

8.3) Appliquer les patches pour le support du son

cd vcl
patch -p0 < ../patches/vcl_sound.patch
cd ..
cd scp
patch -p0 < ../patches/scp_sound.patch
cd ..


8.4) Appliquer les patches pour le support du plugin audio

cd instsetoo
patch -p0 < ../patches/instsetoo_audioplugin.patch
cd ..
cd scp
patch -p0 < ../scp_audioplugin.patch
cd ..


C) Compilation

Enfin...


Tout d'abord il faut configurer correctement les fichiers makefiles utilisés par dmake (ce n'est pas make, mais dmake qui est utilisé).

Tout d'abord, il faut aller où ça se passe :

cd config_office

puis lancer le script d'autoconfiguration avec les bonnes options. Par exemple, pour Linux PowerPC, j'utilise


./configure --with-lang=FREN,ENUS,DTCH --with-ant-home=/usr/local/apache-ant-1.6.1/

Pour les options supplémentaires, ./configure --help | less donne les détails.


Ensuite, si tout va bien, un fichier de bootstrap, ainsi qu'un fichier contenant tout l'environnement necéssaires sont créés dans $SRC_DIR

cd .. # pour retourner dans $SRC_DIR

./bootstrap # dmake est construit la 1ère fois

tsch # il faut utiliser le shell tcsh pour la compilation

source ./LinuxPPCEnv.Set # le nom est différent selon l'architecture et l'OS

Enfin, la commande qui lance la compilation :

dmake


Maintenant, il y en a pour


~4 à 5 heures sur une machine puissante ( f> 2GHz + plein de RAM)

~10 heures sur une machine f~1GHz

Pour les machines moins puissantes, cela peut être beaucoup plus long.


Si jamais quelque chose se passe mal, une adresse très sympa :

<http://qa.openoffice.org/issue_handling/project_issues.html>

Mais il y a les listes de diffusion, l'irc...là, c'est lexpérience qui aidera.


Enfin...si jamais vous avez un message donnant une erreur parlant de gtk, avec une durée indiquée et l'invite correctement rendue (sans message d'erreur), bienvenue dans le club de ceux ayant terminé une "build". Félicitations !

Mais où est ma build ?

En fait, c'est la version non strippée, c'est à dire comportant des instructions utiles au déboguage, qui se trouve dans instsetoo, unxlngppc.pro (sur powerpc, sinon le nom est légèrement différent).

Comment avoir une version finale ?

cd instsetoo

rm -rf ./unxlngppc.pro

cd util

dmake strip=TRUE

Et alors, si tout se passe bien, vous avez votre nouvelle build dans le répertoire $SRC_DIR/instsetoo/unxlngppc.pro/33

tout est dans "normal". Notez la présence de fichers de log, permettant de savoir si la version s'est contruite sans erreur.

Il reste à fabriquer l'arcive finale :

tar cvzf OOo_SRX645_m48_LinuxPPC.tar.gz ./normal/*

et de faire le md5sum de l'archive correspondant :

md5sum OOo_SRX645_m48_LinuxPPC.tar.gz > OOo_SRX645_m48_LinuxPPC.md5

Après, vous faites ce que vous voulez de ces fichiers, mais le mieux, c'est de les utiliser comme une archive que vous venez de télécharger ;-))


Voila, c'est fini !!!

Et surtout, si ce didacticiel vous a plu, n'hésitez surtout pas à me le faire savoir !!



-- 
eric bachard <ericb@openoffice.org>
French OpenOffice.org Community contributor (build of french releases for Linux PPC and Mac OS X / X11)
See : <http://fr.openoffice.org>



Retour à l'index Labo


 

OpenOffice.org native tongue concept and francophone project are built for you with pride by Guy Capra (Alomphega).
This fr project is also led and maintained by Sophie Gautier.