2015-07-30 1 views
0

Récemment, j'ai décidé de réessayer de construire une machine CLFS http://www.clfs.org et je suis à l'étape 5.5 de 3.0.0 SYSTEMD. On nous dit de courir make -C include puis make -C progs tic. J'échoue à la dernière commande. Est-ce que je manque des paquets ou est-ce que je fais quelque chose de mal?La construction TIC échoue (ncurses5.9) pour CLFS 3.0.0 SYSTEMD

J'utilise ArchLinux comme mon hôte LFS dans VMWare qui est en cours d'exécution sur Windows 10.

Voici la page que je regarde les commandes: http://clfs.org/files/BOOK/3.0.0/SYSTEMD/view/x86_64/cross-tools/ncurses.html

est ici la sortie de la console lorsque Je lance cette dernière commande:

In file included from ../ncurses/curses.priv.h:283:0, 
    from ../ncurses/lib_gen.c:19:_33528.c:835:15: error: expected ')' before 'int' 
    ../include/curses.h:1594:56: note: in definition of macro 'mouse_trafo' 
    #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) 
                 ^

Répondre

2

le message d'erreur est pointée sur le symbole y,

  • qui pourrait être (mis) défini dans un fichier d'en-tête de votre système. Mis à part le # errant # define, la seule chose intéressante à propos de la ligne est que le prototype wmouse_trafo utilise bool, que le script configure devrait avoir (donné la version du compilateur utilisée pour CLFS) équivaut à un c99 _Bool (qui ne devrait pas être un problème).

Vous pouvez voir ce que le compilateur voit en faisant

make -C ncurses lib_gen.i 

et la recherche de wmouse_trafo dans ncurses/lib_gen.i.

Par exemple, je le vois mentionné deux fois:

extern _Bool wmouse_trafo (const WINDOW*, int*, int*, _Bool); 
extern _Bool mouse_trafo (int*, int*, _Bool); 

et

_Bool (mouse_trafo) (int * a1, int * a2, _Bool z) 
{ 
; return wmouse_trafo(stdscr,a1,a2,z); 
} 

Le point-virgule parasite est pas un problème, mais s'il y avait un problème avec le compilateur croisé il pourrait faire le _Bool manquant.

Les instructions pour CLFS 3.0 utilisent gcc 4.8.3 (les versions de toutes les pièces sont importantes). Cependant, le message d'erreur cité ici ressemble à un rapport récent en raison de gcc 5 — qui est traitée dans ncurses 6.0

+0

En lib_gen.i je trouve 'wmouse_trafo (const FENÊTRE *, int *, int *,' 'wmouse_trafo (stdscr, int * a1, int * a2, 'et'; return wmouse_trafo (stdscr, a1, a2, z); ' –

+0

Désolé, j'ai été occupé pour la dernière semaine, j'ai finalement décidé d'abandonner le projet et de redémarrer. Je vais devoir soit attendre la mise à jour du projet, soit trouver un moyen d'utiliser l'ancienne version –