Avanti Indietro Indice

4.5 Compilare iproute

iproute normalmente è un pochettino più problematico. Questo soprattutto perché ha bisogno che gli headers file del kernel installato sul sistema siano relativi al kernel che avete appena patchato e ricompilato. Se avete già provato a fare questa procedura, avrete senz'altro visto diversi errori relativi a dei tipi non definiti o errori in pak_sched.h (a meno che non abbiate applicato alcuna patch). Ma andiamo per gradi:

In questo modo avete messo a posto gli headers file per poter ricompilare iproute (esistono centinaia di modi più furbi per farlo, ma credo che questo sia uno dei più semplici).

Entrate quindi nella directory di iproute e provate a compilarlo seguendo le istruzioni fornite (dovrebbe bastare un semplice ``make install''). Non vi spaventate se non va liscio la prima volta: alcune versioni di iproute citano in uno dei file .c una costante che non è più definita negli headers di linux.

Per risolvere il problema, basterà semplicemente aprire con un editor il file nella directory lib chiamato ll_proto.c (iproute/lib/ll_proto.c) e commentare via la riga (sul mio sistema la 36)

__PF(ECHO,echo) 
sostituendola con la riga
/* __PF(ECHO,echo) */
Non vi preoccupate, non è una mia idea ed è un problema abbastanza documentato dove è prassi normale per risolverlo commentare via la riga indicata (tra l'altro, al momento del rilascio di questo documento, potrebbe essere un problema giá risolto).

Riprovate quindi a compilare... se ancora non vi va bene, controllate di aver sistemato correttamente /usr/include/linux e di aver applicato a iproute tutte le patch che avete applicato al vostro kernel e viceversa.

Se ancora non riuscite a compilare e non avete delle buone conoscenze del C, vi consiglio di riprovare a ricompilare iproute senza nessuna patch, poi con una, poi con due... finché non smette di funzionare. Se già dall'inizio non si ricompila, probabilmente vi manca qualche tool necessario per la compilazione o avete qualche header un po' particolare. Provate a chiedere sulle mailing-lists delle vostre distribuzioni.

Se invece non vi ha dato problemi, ed è andato tutto liscio al primo colpo, probabilmente siete stati fortunati... non vi preoccupate :-)...

In Debian

La procedura è la stessa di iptables: entrate nella directory di iproute e date

        # debuild 
        # cd ..; dpkg -i *.deb  
oppure
        # dpkg-buildpackage 
        # cd ..; dpkg -i *.deb  
per fabbricare i .deb contenenti la vostra versione personalizzata di iproute.

Se la procedura si blocca durante la compilazione, leggete le raccomandazioni nella sezione precedente, dove si descrive la procedura di installazione manuale, e verificate di aver già installato il nuovo kernel con dpkg.


Avanti Indietro Indice