Compiler sur GNU/Linux/Fr

From OpenTTD
Jump to: navigation, search


Un guide rapide pour démarrer avec le développement de OpenTTD sur Linux et autres systèmes *nix. Pour une aide sur la compilation sur diverses plateformes, rejoignez #openttd sur OFTC.

Contents

Logiciels requis

La plupart des paquets requis pour le développement (comme gcc) devraient déjà être installés sur votre machine. Vous aurez besoin de ces paquets en plus de gcc, make et les outils de construction habituels. Outre ceux-ci, OpenTTD a besoin que les bibliothèques de développement SDL soient installées. En option, mais extrêmement recommandé, est l'installation des fichiers de développement de zlib, qui compressent les sauvegardes (ne pas les avoir ne rend pas seulement votre jeu plus gros, mais vous empêche également de charger des sauvegardes compressées ou de rejoindre des parties en réseau avec compression, soit toutes les parties en réseau). Plus tard, OpenTTD pourra utiliser les fichiers de développement de linpng pour produire des captures d'écran en PNG au lieu de BMP.

De plus, si vous voulez aussi à jour que possible, vous devriez installer le client subversion pour accéder au dernier code de notre dépôt subversion.

Mandriva

(testé sur Mandriva 2009 Printemps)

  • gcc (requis)
  • gcc-c++ (requis)
  • libSDL-devel (requis)
  • zlib1-devel (recommandé, pour la compression des sauvegardes)
  • libpng-devel (optionnel, pour les captures d'écran en PNG)
  • subversion (optionnel, pour obtenir les dernières sources)
  • patch (optionnel, pour corriger)
  • patchutils (optionnel, pour la création d'ajouts)

Ou entrez la commande:

urpmi gcc gcc-c++ libsdl-devel zlib1-devel subversion patch patchutils

Debian et Ubuntu

  • build-essential (pour les compilateurs)
  • libsdl1.2-dev (requis)
  • dpatch (requis pour au moins 0.4.8)
  • zlib1g-dev (recommandé, pour la compression des sauvegardes)
  • liblzo2-dev (recommandé, pour la compression des sauvegardes)
  • liblzma-dev (recommandé, pour la compression des sauvegardes)
  • libpng12-dev (optionnel, pour les captures d'écran en PNG)
  • subversion (optionnel, pour obtenir les dernières sources)
  • timidity (optionnel, pour jouer la musique)
  • libsdl1.2debian-pulseaudio (requis pour Ubuntu 9.04 et au-delà; voyez aussi FS#3294)
  • libfontconfig1-dev (optionnel, pour les fontes TrueType)

Ou entrez la commande:

sudo apt-get install build-essential libsdl1.2-dev subversion zlib1g-dev liblzo2-dev timidity dpatch liblzma-dev libfontconfig-dev

Et pour Ubuntu 9.04 et supérieur:

sudo apt-get install libsdl1.2debian-pulseaudio

Au moins une instance du paquet "libsdl1.2debian-all" était requise pour une installation complète avec une version PowerPC de Debian. Sans ce paquet, seule le serveur dédié peut être compilé. [1] Remarque: Ce n'était pas nécessaire sur un serveur Debian 2.6.26-2-amd64 personnalisé en compilant la r20739.

Fedora

(testé sur FC6 et Fedora 7, 8 & 11)

  • gcc
  • gcc-c++
  • SDL-devel
  • zlib-devel
  • subversion (optionnel, pour avoir les dernières sources)
  • timidity++ (optionnel, pour les pistes de son)
  • esound (optionnel, pour les pistes de son)

Alternativement, si vous avez yum d'installé, tapez la commande suivante sous root:

  • $ yum install gcc gcc-c++ SDL-devel zlib-devel subversion timidity++ esound -y


openSUSE

Utilisez YaST pour télécharger:

  • gcc-c++
  • SDL-devel
  • zlib-devel
  • libpng-devel
  • libicu-devel
  • lzo-devel
  • freetype2-devel
  • xz-devel (pour openttd 1.1)
  • subversion (optionnel, pourrait aussi être mercurial ou git)
  • timidity

Vous pouvez utiliser l'outil en ligne de commande `zypper' également:

  • $ zypper install gcc-c++ SDL-devel zlib-devel libpng-devel libicu-devel lzo-devel freetype2-devel subversion timidity
    or $ zypper source-install openttd

Gentoo

En tant que root, lancez: $ emerge --onlydeps -av openttd et il installera toutes les dépendances de OpenTTD.

Si vous voulez utiliser la version la plus courante (soit Tronc/SVN), lancez ce qui suit sous root:

emerge subversion

Arch Linux

Sous root, lancez:

pacman -S openttd

Cela installera OpenTTD et toutes ses dépendances. Les ensembles de graphismes (openttd-opengfx) et de sons (openttd-opensfx) libres sont aussi disponibles dans les dépôts officiels.

Les PKGBUILDs openttd-beta, openttd-svn et openttd-32bpp sont disponibles dans AUR.

FreeBSD

Pour rechercher, compiler et installer toutes les dépendances nécessaires, sous root, lancez:

cd /usr/ports/games/openttd && make depends clean

Si vous allez compiler OpenTTD depuis subversion, alors, sous root, lancez:

cd /usr/ports/devel/subversion && make install clean

NetBSD

Pour rechercher, compiler et installer toutes les dépendances nécessaires, lancez:

cd /usr/pkgsrc/games/openttd && make depends clean

Si vous allez compiler OpenTTD depuis subversion, alors lancez:

cd /usr/pkgsrc/devel/subversion-base && make install clean

Vous devriez fournir le mot de passe root une fois que le code est compilé et prêt à l'installation.


Obtenir les sources

Versions

Vous pouvez télécharger les fichiers source .tar.gz depuis le site web OpenTTD. Extraire le fichier tar vous donnera un répertoire appelé openttd-<version>, où <version> est la version téléchargée. Entrez dans ce répertoire et vous serez prêts pour l'étape 3.

Constructions nocturnes

Similaire à l'option des versions livrées ci-dessus; vous pouvez télécharger la dernière photo des sources (faite chaque jour à 19h00 GMT) depuis le site web de OpenTTD. Décompactez et entrez dans le répertoire où vous l'avez fait. Puis passez à l'étape 3.

Version la plus à jour (c.à.d. Tronc/SVN)

La version la plus à jour du code officiel est stockée dans notre dépôt subversion. Subversion facilite le traçage des différentes versions et fournit un emplacement unique facilement partagé pour votre code. Pour vous en tant qu'utilisateur, cela veut dire que vous pouvez rapidement obtenir le code source le plus récent.

Chargement initial

Pour obtenir le code source depuis le serveur subversion, tapez:

$ svn checkout svn://svn.openttd.org/trunk openttd

sur la ligne de commande pour récupérer le code dans le répertoire openttd/. Nous ferons référence à ce répertoire comme votre "copie de travail" dans la suite. Également, toutes les commandes svn données désormais supposent que votre répertoire de travail est le répertoire openttd/.

Vous pouvez maintenant sauter à l'étape 3 si vous voulez simplement compiler la dernière version.

Mise à jour

Si vous avez précédemment chargé le code et qu'une nouvelle version est disponible (donc, de nouvelles modifications ont été validées), vous pouvez mettre à jour votre copie de travail à la dernière version. Dans celle-ci, lancez ce qui suit:

$ svn update

Également, si vous avez fait des changements en local au code source, elles seront préservées et fusionnées avec les modifications dans svn. En cas de conflit entre les modifications, ils seront signalés comme en conflit (marqués "C" dans svn status) (en préservant toujours vos modifications locales). Pour plus d'information sur la résolution des conflits, regardez le livre SVN sur [2].

Créer un fichier d'ajout

Si vous avez fait des changements dans votre source et que vous voulez les partager ou les charger comme ajout, vous pouvez demander à SVN de générer un fichier diff. La commande

$ svn diff > mypatch.diff

crée un fichier diff (aussi appelé "patch") que vous pouvez soumettre aux développeurs pour partager vos améliorations.

Retour arrière

Vous pouvez défaire les changements sur un fichier avec:

$svn revert nom_fichier

ou sur tout votre répertoire de travail avec:

$svn revert -R .

Appliquer un ajout

Pour appliquer un ajout (un fichier diff) au code source, chargez votre code source avec la révision du fichier d'ajout. Disons que celui-ci a été fait pour la r1234. Vous pouvez voir cela dans les premières lignes du fichier:

Index: foo.c
===================================================================
--- foo.c (revision 1234)
+++ foo.c (working copy)

Pour mettre à jour votre code source en r12334, tapez

$ svn update -r 1234

Puis vous êtes prêt à fusionner le fichier d'ajout:

$ patch -p0 < mydiff.diff

Maintenant (optionnel), mettez à jour le code source avec la dernière révision par:

$ svn update

Si cela amène des conflits (fichiers marqués avec "C"), pas de chance, l'ajout ne fonctionne pas pour la dernière révision (vous pouvez toujours faire un retour arrière et retenter l'ajout en sautant cette dernière étape et en jouant avec une ancienne version).

Compiler et exécuter

Compilez OpenTTD avec:

$ ./configure

Cela créera un Makefile, puis:

$ make

Si vous avez modifié des fichiers ou mis à jour votre source, cela ne recompilera que le code modifié.

Fichiers de données d'origine de TTD optionnels

Copiez les fichiers GRF de Transport Tycoon Deluxe dans le répertoire data/:

Version Windows

  • sample.cat
  • trg1r.grf
  • trgcr.grf
  • trghr.grf
  • trgir.grf
  • trgtr.grf

Version DOS

  • SAMPLE.CAT
  • TRG1.GRF
  • TRGC.GRF
  • TRGH.GRF
  • TRGI.GRF
  • TRGT.GRF

Lancement

Vous pouvez lancer OpenTTD avec:

$ cd bin

$ ./openttd

La commande cd vous amène dans le répertoire bin, où le programme openttd a été mis. Dans ce répertoire, démarrez le programme.


Également, vous pouvez installer le jeu dans /usr/local/ où ailleurs, mais c'est essentiellement pour les empaqueteurs. cela requiert une connaissance un peu plus poussée de l'installation de logiciels et de OpenTTD; regardez donc le Makefile pour des conseils.

Jouer les pistes de son

Si vous voulez la musique d'origine de TTD, vous avez besoin de copier tout le répertoire gm/. De plus, le programme TiMidity est requis:

Sous Debian/Ubuntu

Téléchargez "timidity & freepats"

sudo apt-get install timidity freepats

Lancez "Paramètres système" puis cliquez sur le "Système audio"; choisissez l'onglet "Matériel", cliquez sur "Choisir le périphérique Midi", puis choisissez "Timidity port 0 - Alsa device" (conseil: ce peut être autre chose; cherchez simplement timidity), puis cliquez sur le bouton "Appliquer".

Sous Fedora

Installez timidity++

yum install timidity++ 

Timidity veut parler à ESD, donc vous devrez "activer le logiciel de mixage du son (ESD)" (Système → Préférences → Son).

Pour lancer OpenTTD avec le support de la musique, tapez:

$ ./openttd -m extmidi

Paquet Debian

Vous devriez pouvoir construire un paquet Debian depuis la dernière source en utilisant le répertoire debian fourni. Vous pouvez remplacer l'étape 3 par ceci. Ce répertoire Debian est, selon les standards de OpenTTD, mis dans le répertoire os/, et doit être tout d'abord déplacé un niveau plus haut:

$ mv os/debian .

Après cela, utilisez les outils habituels de Debian pour construire le paquet:

$ dpkg-buildpackage -rfakeroot -uc -us

L'installation peut alors être faite en exécutant (sous root): $ dpkg -i ../openttd-<version>_<something>.deb

OpenTTD est maintenant installé.

Dans l'étape 3, vous devez copier les fichiers de données dans /usr/share/games/openttd/data, car ils ne sont pas inclus dans le .deb à cause de problèmes de licence.

Au lieu de lancer OpenTTD par $ ./openttd, vous pouvez simplement entrer $ openttd pour le démarrer.

Dans l'étape 5, vous devez copier les fichiers de musique du répertoire gm dans /usr/share/games/openttd.

Personal tools