Forum Linux.gui Compilation de kde3.5.2 sur LFS

Posté par .
Tags : aucun
0
4
avr.
2006
Bonjour,
Je me tourne vers vous, ceux qui savent, pour m'aider à résoudre un problème que je n'ai jamais rencontré auparavant.
Je n'ai jamais eu de soucis pour installer kde avec konstruct sur mon LFS. En suivant les indications de la page http://kde.org/info/requirements/3.5.php jusqu'à présent, tout à toujours bien fonctionné.
J'ai évidement cherché sur le web, et dans les bugs de kde (http://bugs.kde.org) et dans google, mais je n'ai rien trouvé qui soit susceptible de m'aider.
Or donc, voici le descriptif du problème : quand je lance un "make install" dans sous-répertoire kde de konstruct, après moult compilations, ça échoue lamentablement en m'indiquant un segfault lors de l'exécution de la commande dcopidl sur le fichier ksycoca.h.
Ces deux fichiers sont dans la hierarchie kdelibs.
Voyant que dcopidl utilisait yacc et flex, je les ai mis à jour. J'ai aussi mis à jour autoconf et automake. J'utilise gcc3.4.3, comme recommandé dans le LFS.
Un collègue a installé sur le même système (même version de LFS) la version d'avant, à savoir KDE3.5.1, avec konstruct. J'ai alors eu l'idée de récupérer son exécutable dcopidl, écrabouiller le mien, et relancer la compilation.
Evidement, je n'ai plus de segfault, mais j'ai alors d'autres erreurs, et je ne peux toujours pas mettre à jour.
Donc, si quelqu'un a une idée sur la question, je suis preneur.
Inutile de me proposer de changer de distro, d'installer un gestionnaire de paquets, etc. Je veux rester sur mon LFS et installer KDE3.5.2.
Merci d'avance pour votre aide, vos liens, vos suggestions, etc.
  • # Plus d'infos...

    Posté par . Évalué à 2.

    J'ai passé dcopidl sous valgrind.
    Ca me donne les informations suivantes :

    ==14704== Invalid read of size 4
    ==14704== at 0x456C17B: QString::QString(QString const&) (in /usr/local/kde3.5.2/lib/libqt-mt.so.3.3.6)
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== Address 0x0 is not stack'd, malloc'd or (recently) free'd
    ==14704==
    ==14704== Process terminating with default action of signal 11 (SIGSEGV)
    ==14704== Access not within mapped region at address 0x0
    ==14704== at 0x456C17B: QString::QString(QString const&) (in /usr/local/kde3.5.2/lib/libqt-mt.so.3.3.6)
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704==
    ==14704== Invalid free() / delete / delete[]
    ==14704== at 0x401BFE9: free (vg_replace_malloc.c:235)
    ==14704== by 0x4BD0A6B: free_mem (dl-libc.c:228)
    ==14704== by 0x4BD0551: __libc_freeres (set-freeres.c:47)
    ==14704== by 0x401735D: _vgw_freeres (vg_preloaded.c:62)
    ==14704== by 0xBEF3A5A7: ???
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== Address 0x49CDCF0 is not stack'd, malloc'd or (recently) free'd
    ==14704==
    ==14704== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 61 from 1)
    ==14704== malloc/free: in use at exit: 26,737 bytes in 1,105 blocks.
    ==14704== malloc/free: 5,274 allocs, 4,170 frees, 145,054 bytes allocated.
    ==14704== For counts of detected errors, rerun with: -v
    ==14704== searching for pointers to 1,105 not-freed blocks.
    ==14704== checked 693,232 bytes.
    ==14704==
    ==14704== LEAK SUMMARY:
    ==14704== definitely lost: 7,594 bytes in 491 blocks.
    ==14704== possibly lost: 0 bytes in 0 blocks.
    ==14704== still reachable: 19,143 bytes in 614 blocks.
    ==14704== suppressed: 0 bytes in 0 blocks.
    ==14704== Use --leak-check=full to see details of leaked memory.
    Erreur de segmentation


    Est-ce que quelqu'un voit d'où viens l'erreur, et surtout comment la corriger ?
    Visiblement, si je comprends bien, c'est qt qui foire, lors de l'appel à la fonction yyparse. Ce doit être lié à bison/yacc, mais je ne vois pas comment corriger ce problème.
    Merci pour votre aide.

Suivre le flux des commentaires

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