Forum Programmation.autre Erreur de compilation Slibo-0.4.4

Posté par  (site web personnel) .
Étiquettes : aucune
0
30
juin
2005
Bien le bonjour à tous,
je sollicite votre aide, pour arriver à compiler slibo (Jeu d'échecs 3D "http://slibo.sourceforge.net(...)" )sur ma machine(FC4 sur AMD64), après avoir téléchargé l'archive .tar.bz2, l'étape de configuration c'est passé sans problème:
% tar -jxf slibo-0.4.4.tar.bz2
% cd slibo-0.4.4
% ./configure
Mais voilà je me retrouve avec des erreurs à la compilation,
après de longues recherches infructueuses sur le net je demande conseil.
Voici les messages d'erreur:

...
hash.c:96: erreur: conflicting types for 'allocHash'
hash.h:102: erreur: previous declaration of 'allocHash' was here
...

voici les définitions de 'allocHash' dans les fichiers hash.c, et hash.h

hash.c:
void allocHash(HashInfo * h, size_t mem) {
mem = min(mem, (size_t)sysconf(_SC_PAGESIZE) * (size_t)sysconf(_SC_PHYS_PAGES));

hash.h:
void allocHash(HashInfo * h, unsigned bits);

Je ne suis pas assez spécialiste du C pour savoir si le problème est architecture(AMD64), distro(FC4) ou compilo(gcc4)-dépendant ...

Merci de votre aide
  • # Pb de source

    Posté par  . Évalué à 2.

    > void allocHash(HashInfo * h, unsigned bits);
    > void allocHash(HashInfo * h, size_t mem)

    Le deuxième argument n'est pas de même type (unsigned pour la déclaration et size_t pour la définition) comme précisé dans le message d'erreur "hash.c:96: erreur: conflicting types for 'allocHash'"

    Ce n'est ni un pb d'archi ni de distro ni de compilo, juste de code.

    A voir avec les dev du prog et attendre le patch.
    • [^] # Re: Pb de source

      Posté par  (site web personnel) . Évalué à 1.

      Ouaip j'avais remarqué cela, mais je n'ai pas la certitude que cela ne viens pas d'un détail compilo/archi/distro, en fait de nombreuses autres personnes on compilé ce code ... et aucune ne parle de modif dans hash.c ou hash.h et/ou de patch, ma connaissance de ce langage étant limité je n'arrive pas à cerner le problème ...
      enfin de toute façon merci de ton attention.
      • [^] # Re: Pb de source

        Posté par  . Évalué à 3.

        Essaye de changer le "unsigned" en "size_t" et vois si ca compile.

        Après réflexion c'est peut-être bien un pb d'arch. Sur un AMD64, les size_t ne doivent pas avoir la même taille que les unsigned. C'est un "problème" du C que de ne pas normaliser la taille des différents types de base.

        Envoie quand même un message au dev pour qu'il corrige ça, ça pourra servir pour d'autre.
        • [^] # Re: Pb de source

          Posté par  (site web personnel) . Évalué à 1.

          Merci pour tout, le remplacement "unsigned" par "size_t" ne fonctionne pas, j'avais déja testé le remplacement "size_t" par "unisgned" qui passe mais de nouvelles erreurs se produisent durant le reste de la compilation ... pour le contact du developpeur je crains que le projet ne soit plus maintenu, la dernière release datant d'aout 2003 ...

          Merci pour tout .
          • [^] # Re: Pb de source

            Posté par  . Évalué à 2.

            C'est quoi tes nouvelles erreurs?

            Dommage que le projet ne soit plus maintenu!
            Sinon, par curiosité, il est sensé avoir quoi de bien par rapport aux autres?
            • [^] # Re: Pb de source

              Posté par  (site web personnel) . Évalué à 1.

              1) Voici les nouvelles erreurs :

              search.c: In function 'search':
              search.c:285: erreur: membre gauche de l'affectation invalide

              et voilà la ligne en question:
              ...
              (ply <= 0) ? stats.qPos : stats.pos += lastMove - firstMove;
              ...

              Mais je pense que c'est trop chaud comme ça, de plus search.c appelle une fonction dont l'une des sous fonction est hash.c/h ... hypothèse bien sur.

              2) Ce qu'il a de bien "http://slibo.sourceforge.net(...)" il faut juste regarder le screenshot .. l'interface à l'air vraiment très agréable.

              Ce soir je (re)essaye glchess mais il me semble tout de même moins bien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.