|
Size: 4680
Comment: like master page
|
← Revision 4 as of 2020-04-13 08:49:04 ⇥
Size: 3327
Comment: sync with English master v. 8
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 11: | Line 11: |
| apt-get install build-essential}}} | apt install build-essential}}} |
| Line 16: | Line 16: |
| apt-get install build-essential libncurses5-dev}}} | apt install build-essential libncurses5-dev}}} |
| Line 18: | Line 18: |
| == Cosa è necessario per compilare un programma che usa le librerie GTK+ ? == | == Cosa è necessario per compilare un programma che usa le librerie GTK? == |
| Line 21: | Line 21: |
| apt-get install libgtk1.2-dev}}} | apt install libgtk-3-dev }}} |
| Line 23: | Line 24: |
| per le GTK+, oppure | == Cosa è necessario per compilare un programma che richiede glib ma non GTK? == |
| Line 26: | Line 27: |
| apt-get install libgtk2.0-dev}}} | apt install libglib2.0-dev }}} |
| Line 28: | Line 30: |
| per le GTK+2. Non è possibile compilare un'applicazione scritta con le GTK+ con le librerie GTK+2. Le API non sono compatibili. == Cosa è necessario per compilare un programma che richiede glib ma non GTK+ ? == |
== Cosa è necessario per compilare un programma che usa le librerie QT? == |
| Line 33: | Line 33: |
| apt-get install libglib1.2-dev}}} | apt install qtbase5-dev }}} |
| Line 35: | Line 36: |
| si noti che questa situazione è piuttosto rara, giacché solitamente installando libgtk1.2-dev si otterrà libglib1.2-dev. == Cosa è necessario per compilare un programma che usa le librerie QT ? == |
== Cosa è necessario per compilare un programma che usa le librerie SDL? == |
| Line 40: | Line 39: |
| apt-get install libqt3-mt-dev}}} == Cosa è necessario per compilare un programma che usa le librerie SDL ? == {{{ apt-get install libsdl1.2-dev}}} |
apt install libsdl2-dev }}} |
| Line 50: | Line 45: |
| apt-get install zlib1g-dev}}} | apt install libz-dev }}} |
| Line 52: | Line 48: |
| == Cosa è necessario per compilare un programma che usa il server X ? == | == Come si compila un kernel Linux alla maniera Debian? == |
| Line 55: | Line 51: |
| apt-get install xlibs-dev}}} | apt install build-essential kernel-package}}} |
| Line 57: | Line 53: |
| == Come si compila il kernel alla maniera Debian? == | 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: |
| Line 60: | Line 58: |
| apt-get install build-essential kernel-package}}} | make bindeb-pkg EXTRAVERSION=custom.1 }}} |
| Line 62: | Line 61: |
| Se si desidera usare menuconfig, installare anche {{{libncurses5-dev}}} o {{{libgtk1.2-dev}}} per gconfig nella versione 2.6 del kernel. Si installi {{{bin86}}} per i kernel 2.2 o inferiori su architettura i386. | Verranno creati diversi file {{{.deb}}} nella directory superiore. È possibile modificare la stringa di revisione per includere il nome della macchina, ecc. |
| Line 64: | Line 63: |
| Estrarre i sorgenti del kernel, spostarsi nella directory ottenuta e applicare le patch volute (opzionale), quindi eseguire il comando: | 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: |
| Line 67: | Line 68: |
| make-kpkg --revision=custom.1 binary-arch}}} | export PATH="/usr/lib/ccache:$PATH" }}} |
| Line 69: | Line 71: |
| Verranno creati due file {{{.deb}}} nella directory superiore. È possibile modificare la stringa di revisione per includere il nome della macchina, ecc. Se si dispone di moduli di terze parti in {{{/usr/src/modules/}}} aggiungere {{{modules_image}}} alla fine del comando make-kpkg in modo da compilare un pacchetto per i moduli (vale per PCMCIA, nVidia, ATI, ecc., ma non si applica ai moduli che fanno parte dei sorgenti di Linux, segnati con {{{M}}}). Compilando sorgenti del kernel più vecchi su nuove versioni di Debian potrebbe essere necessario utilizzare una versione di gcc più vecchia della predefinita. Il processo di compilazione è piuttosto lento, si usi {{{ccache}}} per accelerarlo (sarà d'aiuto per le volte successive). Per fare ciò è necessario istruire {{{make-kpkg}}} in questo modo: {{{ MAKEFLAGS='CC=ccache\ gcc' export MAKEFLAGS}}} Notare che gli apici ed il backslash sono importanti per far funzionare {{{ccache}}} correttamente, senza di essi la compilazione fallirà. É inoltre possibile accelerare ulteriormente la compilazione utilizzando {{{distcc}}}. Ulteriori informazioni su come combinare {{{distcc}}} e {{{ccache}}} sono disponibili [[JacobAnawalt#make-kpkg.2Cdistccandccache|qui]]. |
É possibile accelerare ulteriormente la compilazione utilizzando {{{distcc}}}. Ulteriori informazioni su come combinare {{{distcc}}} e {{{ccache}}} sono disponibili [[JacobAnawalt#make-kpkg.2C_distcc_and_ccache|qui]]. |
| Line 87: | Line 75: |
| Prima di tutto aggiungere una voce {{{deb-src}}} al file sources.list. Ad esempio, | Prima di tutto aggiungere una voce {{{deb-src}}} alle proprie [[it/SourcesList|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: |
| Line 90: | Line 80: |
| deb-src http://http.us.debian.org/debian/ lenny main contrib non-free}}} (Si usi sid al posto di lenny se si vuole compilare un backport, essendo solo il codice sorgente non sarà dannoso). Dopodiché: {{{ apt-get update apt-get build-dep mio_pacchetto apt-get -b source mio_pacchetto}}} |
apt update apt build-dep miopacchetto apt -b source miopacchetto }}} |
| Line 102: | Line 88: |
| fakeroot debian/rules binary}}} (o se si preferisce {{{dpkg-buildpackage -uc -us -rfakeroot}}}). ## HTTP 404 as at 2009-07-16 ##== Is there a good howto on building debian packages? == ## ##Try http://www.linuks.mine.nu/irc/debian-packaging/ which is a very short introduction with nice pointers. |
dpkg-buildpackage }}} |
Contents
-
Domande di sviluppo
- Si sta cercando di compilare qualcosa e si ottiene l'errore "il compilatore C non può creare file eseguibili".
- Si sta cercando di configurare il kernel con make menuconfig e si ottiene l'errore "curses.h non trovato".
- Cosa è necessario per compilare un programma che usa le librerie GTK?
- Cosa è necessario per compilare un programma che richiede glib ma non GTK?
- Cosa è necessario per compilare un programma che usa le librerie QT?
- Cosa è necessario per compilare un programma che usa le librerie SDL?
- Cosa è necessario per compilare un programma che usa le librerie libz?
- Come si compila un kernel Linux alla maniera Debian?
- Come si ricompila un pacchetto Debian dai sorgenti?
- Come ricompilare i pacchetti con le ottimizzazioni specifiche per la CPU?
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.
