Translation(s): English - Italiano

(!) ?Discussion

Domande di sviluppo

Si sta cercando di compilare qualcosa e si ottiene l'errore "il compilatore C non può creare file eseguibili".

apt install build-essential

Si sta cercando di configurare il kernel con make menuconfig e si ottiene l'errore "curses.h non trovato".

apt install build-essential libncurses5-dev

Cosa è necessario per compilare un programma che usa le librerie GTK?

apt install libgtk-3-dev

Cosa è necessario per compilare un programma che richiede glib ma non GTK?

apt install libglib2.0-dev

Cosa è necessario per compilare un programma che usa le librerie QT?

apt install qtbase5-dev

Cosa è necessario per compilare un programma che usa le librerie SDL?

apt install libsdl2-dev

Cosa è necessario per compilare un programma che usa le librerie libz?

apt install libz-dev

Come si compila un kernel Linux alla maniera Debian?

apt install build-essential kernel-package

Se si desidera usare menuconfig, installare anche libncurses-dev o libgtk2.0-dev per gconfig.

Estrarre i sorgenti del kernel Linux, spostarsi nella directory ottenuta e applicare le patch volute (opzionale), quindi eseguire il comando:

make bindeb-pkg EXTRAVERSION=custom.1

Verranno creati diversi file .deb nella directory superiore. È possibile modificare la stringa di revisione per includere il nome della macchina, ecc.

Se si compilano sorgenti di kernel più vecchi su nuove versioni di Debian potrebbe essere necessario utilizzare una versione di gcc più vecchia di quella predefinita.

Il processo di compilazione è piuttosto lento, si usi ccache per accelerarlo (sarà d'aiuto per le volte successive). Per fare ciò è necessario impostarlo prima della compilazione:

export PATH="/usr/lib/ccache:$PATH"

É possibile accelerare ulteriormente la compilazione utilizzando distcc. Ulteriori informazioni su come combinare distcc e ccache sono disponibili qui.

Come si ricompila un pacchetto Debian dai sorgenti?

Prima di tutto aggiungere una voce deb-src alle proprie fonti di apt.

Se si sta cercando di compilare un backport, si può volere testing invece di stable. Non avrà effetti sul sistema perché questo è solo codice sorgente. Poi:

apt update
apt build-dep miopacchetto
apt -b source miopacchetto

Il file .deb risultante si troverà nella directory corrente. Nel caso si volesse modificare il codice sorgente prima di compilare, omettere l'opzione -b, spostarsi nella directory ottenuta, apportare le modifiche e quindi eseguire:

dpkg-buildpackage

Come ricompilare i pacchetti con le ottimizzazioni specifiche per la CPU?

Installare il pacchetto pentium-builder e seguire le istruzioni.