Che cos'è la compilazione? Come si compila?

Started by MsZ, Sat 12 May 2007, 13:55

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

franz1789

se fai make oldconfig prendi la vecchia configurazione del kernel in uso. oppuri, non fai make menuconfig, e vai direttamente a compilarlo...

MsZ

Ummm... make oldconfig prevede un file .config preesistente. Se effettivamente Phil vuole compilare una nuova versione con una configurazione in uso deve spostare (o meglio copiare) il file .config dalla cartella dei sorgenti d'origine a quella della nuova versione... ma il problema è che alcune feature potrebbero essere presenti nella vecchia versione e non nella nuova, o viceversa. L'help di make help per il kernel dice "Update current config utilising a provided .config as base", quindi presumo che basti il procedimento sopra... presonalmente non ho mai provato.

franz1789

Io una vota ci ho provato, ma mi chiedeva tutti i singoli files da modificare... mi capita quando sbaglio la versione di un file di patch o simili...

Philip J. Fry

si, quando li chiede da terminale con il make oldconfig io premo Invio finchè finisce...poi potrei dare un menuconfig e chiudere senza toccare nulla? No??

MsZ

make silentoldconfig ::)

@Phil
Con make oldconfig o silentoldconfig il file .config viene generato automaticamente. Consiglio di fare un backup del file .config prima e dopo la configurazione e metterlo in una directory separata, magari con un breve riferimento alla data o a caratteristiche cruciali, così si può riconoscere il .config alla prima occhiata. Inoltre .config è leggibile da un qualsiasi lettore ASCII come vi, gedit, kedit, nano, emacs, jed; può anche essere visualizzato in sola lettura con less .config oppure cat .config | less (ma delle due è meglio la prima).

Hint: Se avete il file config.gz nella directory /proc ha esattamente la stessa struttura del file .config. Infatti è un .config gzippato e built-in nel kernel. Per leggerlo potete fare zcat config.gz | less oppure zless config.gz (se ce l'avete). E' la configurazione corrente del kernel che state usando. Se volete vederne le differenze (mi è balenata adesso 'sta idea) fate
zcat /proc/config.gz | diff - </percorso/per/.config>
Dovrebbero apparire delle righe in sequenza: se appaiono vuol dire che i file differiscono. Se all'inizio di una riga c'è l'operando minore "<" la riga è presa dal file o dallo stream a sinistra della linea di comando di diff (in questo caso l'operando "-" si riferisce allo stream in entrata dal pipe riempito da zcat); se c'è l'operando maggiore ">" la riga è presa dal file o dallo stream a destra (in questo caso il file .config).

Philip J. Fry

Ho compilato GIMP 2.4.2 su Ubuntu...ragazzi,avevo 3 terminali aperti insieme per tutte le librerie che mancavano..stavo impazzendo ma ce l'ho fatta!

MsZ

E gimp è appena facile, e pure avevi Ubuntu, quindi tutte le librerie GNOME...

Comunque, ben fatto :tup:

Philip J. Fry

Eh, per me è già tanto.... :ipno:

anche se mi davano qualche errore quando ho dato make, GIMP va benone!