Forum Linux.gui X.org - Erreur de recompilation avec les ___builtin_*

Posté par .
Tags : aucun
0
14
nov.
2005
Salut à tous,

je cherche à recompiler X.org 6.8.2 sur ma Fedora Core 4.

J'ai une erreur sur le recompilation du fichier fbmmx.c (voir fin du mail).

Je compile avec GCC:
gcc (GCC) 4.0.0 20050519 (Red Hat 4.0.0-8)
Copyright © 2005 Free Software Foundation, Inc.

Est je soupconne que celà vienne de la version de GCC.

Est-ce que quelqu'un peut me confirmer ce point ?
Quelqu'un a-t-il recompiler X.Org 6.8.2 ?
Et si oui avec quel version de GCC.

D'avance merci pour vos réponses.

------------------------------------------------------------------------------
fbmmx.c:107: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pxor’
fbmmx.c:107: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pxor’
fbmmx.c: In function ‘expand_alpha’:
fbmmx.c:166: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:166: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:166: erreur: incompatible types in assignment
fbmmx.c:168: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:168: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:168: erreur: incompatible types in assignment
fbmmx.c: In function ‘expand_alpha_rev’:
fbmmx.c:181: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:181: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:181: erreur: incompatible types in assignment
fbmmx.c:183: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:183: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:183: erreur: incompatible types in assignment
fbmmx.c: In function ‘invert_colors’:
fbmmx.c:195: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:195: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:195: erreur: incompatible types in assignment
fbmmx.c:196: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:196: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:196: erreur: incompatible types in assignment
fbmmx.c:197: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:197: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:197: erreur: incompatible types in assignment
fbmmx.c:202: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:202: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:202: erreur: incompatible types in assignment
fbmmx.c:203: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:203: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:203: erreur: incompatible types in assignment
fbmmx.c: In function ‘over_rev_non_pre’:
fbmmx.c:237: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:237: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c: In function ‘expand565’:
fbmmx.c:300: attention : ISO C89 interdit les mélanges de déclarations et de code
fbmmx.c:303: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:303: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:303: erreur: incompatible types in assignment
fbmmx.c:304: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:304: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:304: erreur: incompatible types in assignment
fbmmx.c:305: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:305: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:305: erreur: incompatible types in assignment
fbmmx.c: In function ‘pack565’:
fbmmx.c:327: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:327: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:327: erreur: incompatible types in assignment
fbmmx.c:328: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:328: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:328: erreur: incompatible types in assignment
fbmmx.c:329: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:329: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:329: erreur: incompatible types in assignment
fbmmx.c:336: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:336: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:336: erreur: incompatible types in assignment
fbmmx.c:338: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:338: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:338: erreur: incompatible types in assignment
fbmmx.c:340: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:340: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:340: erreur: incompatible types in assignment
fbmmx.c:342: erreur: incompatible type for argument 1 of ‘__builtin_ia32_pand’
fbmmx.c:342: erreur: incompatible type for argument 2 of ‘__builtin_ia32_pand’
fbmmx.c:342: erreur: incompatible types in assignment
fbmmx.c:344: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:344: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:344: erreur: incompatible types in assignment
fbmmx.c:345: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:345: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
fbmmx.c:345: erreur: incompatible types in assignment
fbmmx.c:347: erreur: incompatible type for argument 1 of ‘__builtin_ia32_por’
fbmmx.c:347: erreur: incompatible type for argument 2 of ‘__builtin_ia32_por’
----------------------------------------
  • # Pourquoi compiler?

    Posté par . Évalué à 1.

    Je me suis toujours demander pourquoi compiler des xorg, des apaches, des kde, alors ques des binaires stables sont disponible pour toutes les distributions.
    • [^] # Re: Pourquoi compiler?

      Posté par . Évalué à 1.

      Dans mon cas j'utilise ma machine principale pour construire une machine cible qui est une machine embarqué avec un trsè petite disque.

      Je veux donc construire un serveur X le plus petit possible.

      D'où ma nécessité de recompiler X.org :)
  • # patch

    Posté par . Évalué à 2.

    > J'ai une erreur sur le recompilation du fichier fbmmx.c
    > [...]
    > Est je soupconne que celà vienne de la version de GCC.
    > Est-ce que quelqu'un peut me confirmer ce point ?

    Oui. Tu peux trouver les patchs qui vont bien dans diverses distribs, par exemple chez Gentoo :
    http://mir.zyrianes.net/gentoo/distfiles/xorg-x11-6.8.2-patc(...)
    ...où tu trouveras entres autres "9914_all_6.8.2-mmx-gcc4.patch" qui devrait bien aider.
    • [^] # Re: patch

      Posté par . Évalué à 1.

      Merci pour le tuyau.

      J'ai appliqué le patch et je suis en train de recompiler.

      Si j'ai d'autre problèmes je regarderais les autres patches ;p

      Encore merci
  • # upgrade ton gcc et patche Xorg

    Posté par . Évalué à 1.

    la dernière version de gcc est la 4.0.2.

    gcc 4 semble en plein développement. Et nombres de logiciels doivent être patchés pour les compiler avec cette version de gcc.
    • [^] # Ca marche mais ...

      Posté par . Évalué à 1.

      ... après application du patch est en choisissant mes drivers dans le bon fichier de configurztion lz compilztion est passé.

      Merci à vous.

      J'ai une dernière question pour finir.

      Je veux installer ce nouveau serveur sur une machine cible sans lecteur CD ni disquette et mais pouvant quand même lire ne clef USB.

      Je voudrais donc installer le nouveau serveur X sur ma machine hote (celle qui ma permis de compiler) puis faire un tarball pour l'installer sur la cible.

      Malheureusement j'ai déjà un serveur X sur ma Fecora biensur.

      Comment puis-je installer cette nouvelle version en cohabitant avec l'existante ?

      Si quelqu'un à une solution je suis biensur preneur :)
      • [^] # pour faire l'archive :

        Posté par . Évalué à 1.

        dans ton repertoire de construction, lance :
        make install DESTDIR=<repertoire pour construire ton tarbal>

        Par exemple pour installer x11 dans /tmp/package-x11 :
        mkdir /tmp/package-x11
        make install DESTDIR=/tmp/package-x11
        cd /tmp/packages-x11
        tar czvf mon-serveur-X.tar.gz *

        Pour faire cohabiter sur ta machine le serveur X d'origine et celui compilé; je te conseille un chroot.

Suivre le flux des commentaires

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