Forum Linux.général *!!*%*&???? de drip

Posté par  .
Étiquettes : aucune
0
15
mar.
2005
voilà, là vraiment je sais plus quoi faire.

Est-ce un bug ? Dois-je attendre une autre version ?

In file included from main.hh:27,
from external.cpp:20:
/usr/local/include/avifile-0.7/creators.h:4:2: warning: #warning Use #include "avm_creators.h" instead
external.cpp: In function `codecS** encoder_codecs()':
external.cpp:225: error: using typedef-name `codecT' after `enum'
external.cpp:251: error: using typedef-name `codecT' after `enum'
make[2]: *** [libencoder_la-external.lo] Erreur 1
make[2]: Leaving directory `/root/drip-0.9.0/encoder'
make[1]: *** [all-recursive] Erreur 1
make[1]: Leaving directory `/root/drip-0.9.0'
make: *** [all] Erreur 2
[root@localhost drip-0.9.0]#

Merci d'avance à toute personne ayant une petite idée
  • # \_o<

    Posté par  . Évalué à 2.

    42
  • # changer de version de compilo...

    Posté par  . Évalué à 1.

    Bonjour,

    Je ne sais pas quelle version de gcc tu utilises, mais je sais qu'on peut avoir ce genre de problème avec gcc-3.4 quand une application a été développée avec gcc-3.3 (ou version inférieure) (en fait, il y a des syntaxes tolérées avec gcc-3.3 qui ne le sont plus dans gcc-3.4)...

    Donc, soit tu peux attendre que les sources soient revues pour être compilées avec gcc-3.4, soit tu peux corriger toi-même :)
    Ou alors, et je pense que c'est le mieux, c'est de changer de version de gcc : juste un petit lien à modifier...
    Enfin, tu peux faire tout cela si c'est bien un problème de version :)
    • [^] # Re: changer de version de compilo...

      Posté par  . Évalué à 0.

      effectivement, j'ai gcc-3.4.2 mais quel est ce lien à modifier et le pourquoi du comment de cette modification ?
      • [^] # Re: changer de version de compilo...

        Posté par  . Évalué à 1.

        Eh bien, en fait, si tu as plusieurs versions de gcc qui sont installées (comme moi : j'utilise plusieurs versions, selon que je fais du développement ou que je tripatouille mon système), soit pour toute compilation tu modifies tes Makefile pour changer la version de gcc à utiliser, ou alors tu utilises la variable d'environnement $CC ou $CXX, ou bien alors tu utilises les "alternatives" (là, il faut que tu cherches, car je sais que ça existe, mais je ne les utilises pas), ou, finalement, tu gères toi-même ta version de gcc par lien, je t'explique...

        Si tu regardes dans /usr/bin/ :
        xterm:root@mickey[Fri 18/03/05 16:10:38] in /usr/bin
        » ll g{cc,++}*
        lrwxrwxrwx 1 root root 00007 Mar 04 22:07 g++ -> g++.cur
        -rwxr-xr-x 1 root root 88876 Mar 13 02:47 g++-3.3
        -rwxr-xr-x 1 root root 88876 Mar 14 05:19 g++-3.4
        lrwxrwxrwx 1 root root 00007 Feb 22 16:25 g++.cur -> g++-3.3
        lrwxrwxrwx 1 root root 00007 Mar 04 22:07 gcc -> gcc.cur
        -rwxr-xr-x 1 root root 85196 Mar 13 02:47 gcc-3.3
        -rwxr-xr-x 1 root root 84972 Mar 14 05:20 gcc-3.4
        lrwxrwxrwx 1 root root 00007 Mar 04 01:00 gcc.cur -> gcc-3.4
        lrwxrwxrwx 1 root root 00010 Feb 13 16:05 gccbug -> gccbug-3.3
        -rwxr-xr-x 1 root root 16056 Mar 13 02:39 gccbug-3.3
        -rwxr-xr-x 1 root root 16198 Mar 14 05:11 gccbug-3.4

        tu vois gcc qui est un lien symbolique (->) vers gcc-3.4 (vers gcc.cur qui pointe lui-même vers gcc-3.4 dans mon cas, mais pour une raison particulière (j'ai la flemme de tout changer pour t'expliquer :p )). Donc en ce moment, je suis en version gcc-3.4... Si tu veux changer de version, tu changes le lien symbolique vers la version gcc-3.3... Et ça se fait avec la commande (cette commande est pour toi, à priori, pas dans mon cas) :
        rm /usr/bin/gcc
        ln -s /usr/bin/gcc-3.3 /usr/bin/gcc

        (Attention, il faut que tu t'assures que gcc est un lien avant de le supprimer ;))

        Et tant qu'à faire, pour g++ c'est la même chose... Si tu utilises g++ :)


        Voilà, normalement, une fois le lien fait, toutes les compilations devraient se faire avec la version que tu veux...
        Par contre, vérifie les variables d'environnement pour qu'elles ne soient pas en conflit avec ta modif :
        echo $CC
        echo $CXX

        Elles devraient contenir gcc et g++ et non gcc-3.4 et g++-3.4. Sinon, les Makefile utilisant les variables d'environnement $CC et $CXX plutôt que /usr/bin/gcc ne tiendront pas compte de ta modification de lien.


        Bon, j'espère que tu as compris, parce que là, je t'ai mis du concentré :)

Suivre le flux des commentaires

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