GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base sulla compilazione di software dal codice sorgente in Linux

Di tanto in tanto, potresti voler o aver bisogno di compilare un software/programma dal codice sorgente. Ciò comporta la compilazione di codice C o C++ in qualcosa che possiamo eseguire in Linux. A seconda del software che desideri compilare, spesso non è necessario farlo. Questo perché la tua distribuzione avrà probabilmente la forma binaria del programma già nei repository del software.

In effetti, dovresti scegliere i pacchetti binari rispetto alla compilazione dal sorgente. Uno dei motivi è che potrebbe potenzialmente introdurre problemi per il tuo sistema. Tuttavia, se mai dovesse arrivare il momento in cui è necessario compilare dal sorgente, questa guida ti fornirà alcuni suggerimenti di base.

Un tipico esempio

Prendiamo un programma scritto in C o C++. Il download del codice sorgente spesso implica il download e la decompressione di un pacchetto (spesso un tarball) o la clonazione di un repository git. Il tipico metodo di funzionamento è l'esecuzione di questi tre comandi:$

./configure
$ make
$ sudo make install 

Il primo comando esegue lo script configure che analizza le librerie installate nel sistema. Se una libreria richiesta non è installata, la segnalerà e sarà necessario installarla. Non solo avrai bisogno della libreria installata, ma anche dei file di sviluppo devono essere presenti. I file del codice sorgente utilizzano la funzionalità che si trova in queste librerie.

Dopo aver eseguito il comando configure, dovresti avere un Makefile presente. Eseguendo "make", leggerà il Makefile nella directory corrente e inizierà a eseguire il compilatore (gcc per C o g++ per C++) per compilare il software.

​Il terzo comando non è strettamente essenziale ma è consigliato per l'accesso a livello di sistema, ovvero eseguire l'eseguibile da qualsiasi punto del terminale. Questo comando dice a "make" di eseguire le istruzioni per l'installazione del programma sul sistema.

I file INSTALL o README

Potrebbero esserci istruzioni aggiuntive che devono essere completate prima che la compilazione possa iniziare. La lettura di questo file (di solito INSTALL) dovrebbe anche rivelare quali librerie di sviluppo potrebbero dover essere installate per prime. Tali pacchetti conterranno il suffisso “-dev” per indicare che questi sono gli header di sviluppo e devono essere installati. Lo script di configurazione potrebbe anche richiedere parametri aggiuntivi. README conterrà qualsiasi altra informazione.

Potresti anche scoprire che nessuno dei tre comandi viene eseguito durante l'intero processo. Al loro posto potrebbero essere utilizzate anche variazioni di make come qmake (per i progetti Qt) o cmake.

Installa un programma GitHub

Iniziamo installando un editor di testo chiamato wxMEdit, che si trova su GitHub. Qui mostro come installare un programma compilando dal sorgente. Questo è un esempio quasi tipico dello scopo di questa guida. Se visiti il ​​repository GitHub, vedrai che il file readme contiene dettagli sull'applicazione. Non ci sono istruzioni di compilazione, quindi si applica la sequenza standard, con una differenza: autogen.sh.

​Per prima cosa, cambiamo la posizione in cui desideriamo archiviare il repository nel terminale e clonarlo:

$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git   

Autogen.sh

Se trovi questo file nel codice sorgente, dovresti eseguirlo prima di "./configure" poiché ciò eseguirà attività che ti permetteranno di compilare correttamente il software. Se ciò ha esito positivo, puoi eseguire "./configure", "make" e quindi "sudo make install" e qualsiasi altra cosa sia necessaria per eseguire (in questo caso, nient'altro).

$ ./autogen.sh 
$ ./configure 
$ make 

Non dovresti vedere errori nell'output make.

$ sudo make install 

Risoluzione dei problemi

Se lo fai regolarmente, potresti riscontrare alcuni problemi durante la compilazione dal sorgente.

Biblioteche mancanti

Ricorda, non è sufficiente installare le librerie binarie; anche i file sorgente o le intestazioni di sviluppo devono essere installati. Lo script di configurazione, insieme alla documentazione, di solito ti avviserà di eventuali librerie (intestazioni di sviluppo) che devi installare per una corretta compilazione. Assicurati che siano installati sul tuo sistema.

Sono installati e si verificano altri errori

Conclusione

Compilazione di software può essere abbastanza semplice o abbastanza doloroso. Fortunatamente, molte distribuzioni Linux forniscono pacchetti binari pronti per l'installazione, quindi la compilazione dal sorgente di solito non è necessaria. È meglio attenersi ai pacchetti binari forniti dai repository software forniti dalla tua distribuzione, se disponibili.


Linux
  1. I 5 migliori repository di codice sorgente

  2. Codice sorgente di Netstat?

  3. 10 migliori software di contabilità open source per Linux

  4. Avvia i programmi di installazione del software su Linux da Windows utilizzando Cygwin

  5. Guida alle istruzioni per installare PHP5 da Source su Linux

Come installare un programma da Source su Linux

Come ottenere notizie istantaneamente dalla riga di comando in Linux

Come installare il software dal sorgente in Linux

Come compilare il kernel Linux dal sorgente per creare un kernel personalizzato

Come installare il software dal codice sorgente nel tuo sistema Linux

Dov'è il codice di pianificazione di Linux CFS?