Résolu : Pb de compilation de l'éditeur de carte sur UBUNTU

Les anciennes demandes / questions sont archivées ici.
Avatar de l’utilisateur
andane
Messages : 20
Inscription : 25 déc. 2013, 19:57

Résolu : Pb de compilation de l'éditeur de carte sur UBUNTU

Message par andane »

Bonjour à vous.

Je n'ai pas trouvé (attention je cherche vraiment mal) de tutoriel pour installer l'éditeur de carte.

Ainsi je me suis lancé ce matin dans cette aventure.

J'ai posé la question dans le jeu sur le canal général et finalement, solinar et moi-même nous nous sommes lancés tous les deux dans ce périple.

Nous avons effectué -nous semble-t-il- les mêmes actions et n'avons pas eu le même résultat.

Nous sommes basés sur ce tuto :
http://forum.ubuntu-fr.org/viewtopic.php?id=128912

Et voici ce que nous avons finalement fait :

Code : Tout sélectionner

# création d'un dossier temporaire
mkdir /tmp/editeur
cd /tmp/editeur

# téléchargement des sources du client et de l'éditeur
wget http://www.landes-eternelles.com/client/1810/Client_Sources-1.8.1.tar.bz2
wget http://www.landes-eternelles.com/client/1810/Editeur_Sources-1.8.1.tar.bz2

# décompression des source du client et de l'éditeur
tar xjvf Editeur_Sources-1.8.1.tar.bz2
tar xjvf Client_Sources-1.8.1.tar.bz2

# renommage des dossier (visiblement les chemins pour compilé sont en minuscules)
mv Client_Sources client_sources
mv Editeur_Sources editeur_sources

# lancement de la complilation
cd editeur_sources
make -f Makefile.linux 
Pour Solinar, le binaire a été généré il l'a copié dans le dossier de son jeu et il a pu le lancer

Pour ma part j'ai le droit à un message d'erreur à la tentative de LINK

Code : Tout sélectionner

  LINK mapedit.x86_64.linux.bin
/usr/bin/ld: elfilewrapper.o: référence au symbole non défini «gzbuffer@@ZLIB_1.2.3.5»
/lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [mapedit.x86_64.linux.bin] Erreur 1
Les différences que nous avons constaté sont :
- Ubuntu 12.04.4 LTS 64b pour solinar : et ça a marché
- Ubuntu 13.10 64b pour andane : erreur ci-dessus

Par avance merci et bon courage.

Attention la lib gtk2 doit être installé :

Code : Tout sélectionner

#installation de la lib gtk2 
sudo apt-get install libgtk2.0-dev
Dernière modification par andane le 19 janv. 2014, 23:02, modifié 1 fois.

Solinar
Messages : 786
Inscription : 11 sept. 2010, 00:02
Localisation : Un peu partout, voyage tout le temps ...

Re: Pb de compilation de l'éditeur de carte sur UBUNTU

Message par Solinar »

Pour information, on n'a pas fait exactement la même chose mais cela ne change pas le problème de la compilation (on croyait faire les procédures de la même façon, jusque là).
J'ai tout bêtement téléchargé les deux fichiers sources par le navigateur puis je les ai déplacé dans le répertoire principal du jeu déjà installé (dans un sous-répertoire du bureau : jeux/LandesEternellesLinux)
Puis je les ai décompressé dans ce même répertoire, j'ai eu alors les deux sous-repertoires déjà cités que j'ai renommé en 'editeur_sources' et 'client_sources'.
J'ai lancé ensuite la console et je suis allé dans le sous-repertoire 'editeur_sources' puis j'ai lancé la compilation : make -f Makefile.linux
La compilation a réussi, j'ai déplacé ensuite le fichier .bin (mapedit.x86.linux.bin) dans le repertoire principal du jeu. Puis je l'ai lancé et ça a marché.

Après avoir remarqué la différence entre nos deux procédures, j'ai refait la même manip que Andane, ligne par ligne (cf message plus haut) : la compilation a fonctionné sans problème (mais pas le lancement de l'application après l'avoir déplacé dans le répertoire /tmp/editeur)

Edit : je suis sur une version de linux en 32bits et non en 64bits : LTS 12.4.04
Soli'nar, le soleil riant. Guide et Econome du peuple aventurier Kultar. Membre de la gilde MAGE.
Grista'Landes, grista'kta nor (Combattre les landes, c'est combattre soi-même)

Avatar de l’utilisateur
andane
Messages : 20
Inscription : 25 déc. 2013, 19:57

Re: Pb de compilation de l'éditeur de carte sur UBUNTU

Message par andane »

Afin de nous assurer qu'il ne s'agissait pas d'un problème de chemin.

Et après que Solinar me l'ait proposé, j'ai fait une tentative en effectuant les téléchargements, les décompressions, et la tentative de compilation dans le dossier du jeu.

Code : Tout sélectionner

# allons dans mon dossier du jeu (C'est mon chemin !!!)
cd ${HOME}/jeux/linux/LandesEternellesLinux/

# téléchargement des sources du client et de l'éditeur
wget http://www.landes-eternelles.com/client/1810/Client_Sources-1.8.1.tar.bz2
wget http://www.landes-eternelles.com/client/1810/Editeur_Sources-1.8.1.tar.bz2

# décompression des source du client et de l'éditeur
tar xjvf Editeur_Sources-1.8.1.tar.bz2
tar xjvf Client_Sources-1.8.1.tar.bz2

# renommage des dossier (visiblement les chemins pour compilé sont en minuscules)
mv Client_Sources client_sources
mv Editeur_Sources editeur_sources

# lancement de la complilation
cd editeur_sources
make -f Makefile.linux 
et j'ai le même message d'erreur

Code : Tout sélectionner

  LINK mapedit.x86_64.linux.bin
/usr/bin/ld: elfilewrapper.o: référence au symbole non défini «gzbuffer@@ZLIB_1.2.3.5»
/lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [mapedit.x86_64.linux.bin] Erreur 1
Bon et après j'ai fait le ménage (je le mets car à la fin, on pourra s'en servir pour faire un tuto ou mieux un script d'installation)

Code : Tout sélectionner

# allons dans mon dossier du jeu (C'est mon chemin !!!)
cd ${HOME}/jeux/linux/LandesEternellesLinux/

# faisons le ménage :)
rm editeur_sources client_sources Client_Sources-1.8.1.tar.bz2 Editeur_Sources-1.8.1.tar.bz2 -fr

Crayona
Messages : 457
Inscription : 24 juin 2012, 18:53

Re: Pb de compilation de l'éditeur de carte sur UBUNTU

Message par Crayona »

Il manque -lz quelque part dans la commande finale de compilation. Vous pouvez essayer de le mettre à la fin de la ligne 116 qui commence avec "@$(LINK) $(CFLAGS) -o $@". Makefile.linux devient donc:

Code : Tout sélectionner

$(EXE): $(OBJS)
        @echo "  LINK $(EXE)"
        @$(LINK) $(CFLAGS) -o $@ $^ $(LIBS) $(GTK2_LIBS) -lz
Si ça ne marche pas, supprimez le "@" au début de la ligne et postez la commande complete qui est affiché pendant la compilation (celui après "LINK mapedit.x86.linux.bin").

Avatar de l’utilisateur
andane
Messages : 20
Inscription : 25 déc. 2013, 19:57

Re: Pb de compilation de l'éditeur de carte sur UBUNTU

Message par andane »

Merci beaucoup Crayona, avec l'ajout de -lz la compilation fonctionne.

Je me permets donc de vous mettre ci-dessous le contenu d'un petit script qui peut aider un utilisateur qui souhaite compiler l'éditeur sur un ubuntu.

Code : Tout sélectionner

#/usr/bin/env bash

# un peu de conf :
DESTINATION=/tmp
TMP_CACHE=${TMP}/editeur

URL=http://www.landes-eternelles.com/client/1810
CLIENT=Client_Sources-1.8.1.tar.bz2
EDITEUR=Editeur_Sources-1.8.1.tar.bz2

BIN=mapedit.$(uname -m | sed -e s/i.86/x86/).linux.bin

# création du dossier temporaire et entrée à l'intérieur :
mkdir ${TMP_CACHE}
cd ${TMP_CACHE}

# téléchargement des sources du client et de l'éditeur :
wget ${URL}/${CLIENT}
wget ${URL}/${EDITEUR}

# décompression des source du client et de l'éditeur
tar xjvf ${CLIENT}
tar xjvf ${EDITEUR}

# renommage des dossier (visiblement les chemins pour compilé sont en minuscules)
mv Client_Sources client_sources
mv Editeur_Sources editeur_sources

# ajout de l'option -lz à la compilation du binaire
cd editeur_sources
sed '116 s/$/ -lz/' -i Makefile.linux

# lancement de la complilation
make -f Makefile.linux

# déplacement du binaire généré
mv ${BIN} ${DESTINATION}

# ménage
rm -fr ${TMP_CACHE}

# résultat
echo '-----------------------------------------------------------------------------------'
echo Merci de copier le fichier binaire ${DESTINATION}/${BIN} dans le dossier de votre jeu

exit 0
Si vous souhaitez l'utiliser, copier le contenu ci-dessus dans un fichier et rendez le exécutable puis exécuter le ...

Pour information, ce script réalise les tâches suivantes :
- télécharge les sources compressés
- décompresse les sources
- renomme les dossiers
- ajouter l'option -lz
- lance la compilation
- sauve le binaire
- fait le ménage

Répondre