Page 2 sur 2

Re: [Résolu]Compilation du client sous Linux Ubuntu

Publié : 19 oct. 2009, 19:33
par Ackak
La version statique permet d'avoir les bibliothèques intégrés au binaire et donc d'éviter aux personnes n'ayant pas envie d'installer certaines bibliothèques ou ne sachant pas comment faire de lancer le jeu.

Si tu arrives à la compiler comme cela, tu dois pouvoir le compiler en statique avec le script (sauf si le script a un soucis :p)

Re: [Résolu]Compilation du client sous Linux Ubuntu

Publié : 19 oct. 2009, 23:20
par Ackak
Hop une petite mise à jour du wiki suite à tes tests :
http://www.landes-eternelles.com/wiki/d ... _du_client

Re: [Résolu]Compilation du client sous Linux Ubuntu

Publié : 10 nov. 2009, 19:39
par Agop
Si suite au passage en version Karmic Koala d'ubuntu (9.10) vous avez ce genre de message d'erreur à la compilation :

Code : Tout sélectionner

$ make -f Makefile.linux 
CC 2d_objects.o
In file included from 2d_objects.c:10:
load_gl_extensions.h:69: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglClientActiveTexture’
load_gl_extensions.h:77: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglLoadTransposeMatrixd’
load_gl_extensions.h:78: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglLoadTransposeMatrixf’
load_gl_extensions.h:79: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultTransposeMatrixd’
load_gl_extensions.h:80: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultTransposeMatrixf’
load_gl_extensions.h:81: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1d’
load_gl_extensions.h:82: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1dv’
load_gl_extensions.h:83: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1f’
load_gl_extensions.h:84: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1fv’
load_gl_extensions.h:85: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1i’
load_gl_extensions.h:86: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1iv’
load_gl_extensions.h:87: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1s’
load_gl_extensions.h:88: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord1sv’
load_gl_extensions.h:89: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2d’
load_gl_extensions.h:90: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2dv’
load_gl_extensions.h:91: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2f’
load_gl_extensions.h:92: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2fv’
load_gl_extensions.h:93: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2i’
load_gl_extensions.h:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2iv’
load_gl_extensions.h:95: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2s’
load_gl_extensions.h:96: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord2sv’
load_gl_extensions.h:97: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3d’
load_gl_extensions.h:98: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3dv’
load_gl_extensions.h:99: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3f’
load_gl_extensions.h:100: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3fv’
load_gl_extensions.h:101: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3i’
load_gl_extensions.h:102: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3iv’
load_gl_extensions.h:103: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3s’
load_gl_extensions.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord3sv’
load_gl_extensions.h:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4d’
load_gl_extensions.h:106: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4dv’
load_gl_extensions.h:107: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4f’
load_gl_extensions.h:108: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4fv’
load_gl_extensions.h:109: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4i’
load_gl_extensions.h:110: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4iv’
load_gl_extensions.h:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4s’
load_gl_extensions.h:112: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ELglMultiTexCoord4sv’
make: *** [2d_objects.o] Error 1
Il semblerait d'après ce qui est écrit sur le forum de la version US que cela vienne de la version mesa 7.6 qui bug un peu avec GL

Pour y remédier il y un hack de barbare (c'est pas moi qui le dit, c'est bluap) à faire dans le fichier platform.h du dossier sources client.

Il faut donc éditer le fichier platform.h, et à la ligne 78, remplacer :

Code : Tout sélectionner

#else
 #define GL_GLEXT_LEGACY
 #include <GL/gl.h>
 #include <GL/glu.h>
 #include "glext.h"
#endif
par :

Code : Tout sélectionner

#else
  #define GL_GLEXT_LEGACY
  #include <GL/gl.h>
  // #undef is a temporary fix for new gl.h files
  // until I find out how to do it correctly....
  #undef GL_VERSION_1_2
  #undef GL_VERSION_1_3
  #include <GL/glu.h>
  #include "glext.h"
#endif
Attention en faisant cette manip, la compilation fonctionne mais j'ai quelques bugs graphiques (dessins 2d disparaissant ou changés dans l'inventaire et qui font parfois crasher e client en cliquant dessus)

Re: [Résolu]Compilation du client sous Linux Ubuntu

Publié : 23 nov. 2009, 19:51
par Ackak
Le fichier glext.h a été modifié sur le SVN, merci de voir si cela fonctionne maintenant correctement. ;)

Re: [Résolu]Compilation du client sous Linux Ubuntu

Publié : 24 nov. 2009, 19:37
par Agop
La compilation fonctionne et je n'ai pas noté de bug pour le moment.

Bravo Ackak et merci.

Re: [Résolu]Compilation du client sous Ubuntu (et Fedora 12)

Publié : 23 mars 2010, 10:51
par TonyFlow
Pour info, venant de mettre à jour ma Fedora (de 10 à 12) j'ai eu le même soucis de compilation (avec mesa en version 7.7).
Je précise qu'il ne s'agissait pas du client SVN mais de l'officiel 1.6.0.1 pour lequel je regénérais un paquet RPM. En tout cas, j'ai opté pour une autre résolution du problème, toujours en patchant le fichier platform.h mais pour lui dire d'utiliser plutot le fichier glext.h du système.
bluap a écrit :The reason we have a local copy of glext.h is because the version that ships with some OS are very old indeed and do not work. The use of a local copy is a documented work around that has worked for quite some time.
Vu l'explication sur l'usage d'un fichier glext.h fournis avec les sources du client, m'en passer au profit de celui de l'OS me semble totalement justifier dans mon cas où je compile pour un OS en particulier, donc avec la garantie supposée d'une version valide en place ;)

En tout cas, mon paquet s'est bien compilé ainsi. C'est installé et jusqu'à preuve du contraire ça marche...
Patch utilisé pour la génération du rpm du client 1.6.0.1 pour FC12