2012-01-04 13 views
5

Qualcuno può spiegare cosa è e cosa fa 'configure', dove il file config.log può essere trovato in generale?Che cosa è config.log su osx e dove vive?

Questo è in relazione a un problema specifico (gcc not working - Xcode 3.2.6 - Snow Leopard), ma ho pensato che questo argomento potrebbe essere di interesse più generale:

Quando si tenta di installare rubini con RVM, e penso che forse tutto ciò che coinvolge il compilatore gcc di Xcode, o forse anche più generale di quello, se ci sono errori allora i registri di solito si riferiscono a un file config.log. Per esempio. nel mio /yaml/configure.log ottengo:

configure: error: in `/Users/duncanstuart/.rvm/src/yaml-0.1.4': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 

Googling intorno suggerisce che questo file è specifico per il pacchetto da installare, ma vari posti dare un certo numero di luoghi diversi, nessuno dei quali esistono sulla mia macchina - per esempio Error installing PostgreSQL on Mac OS X 10.5 using MacPorts dice che è da qualche parte sotto /opt/local/var/

Can't install Ruby under Lion with RVM – GCC issues contiene un esempio config.log che dice:

Questo file contiene tutti i messaggi prodotti da compilatori durante l'esecuzione configure, per aiutare il debug se configure fa un errore.

risposta

7

configure fa parte di un layout comune pacchetto sorgente - di solito è responsabile per il controllo del sistema di destinazione e vedere cosa compilatori, chiamate di sistema, librerie ecc sono disponibili su di esso. L'utilizzo di queste informazioni è quindi abilitato/disabilitato al momento della compilazione.

Spesso (pensato non sempre) viene generato automaticamente da autoconf da configure.ac (o configure.in).

config.log viene utilizzato per archiviare i risultati dei test, questo può essere utile per gli sviluppatori o per cercare di capire perché non è stata creata una funzione opzionale. È memorizzato nella directory corrente, al momento in cui configure è stato chiamato, quindi per build "in tree" sarebbe stato trovato in /Users/duncanstuart/.rvm/src/yaml-0.1.4 (o forse una directory o due su se c'era una sottodirectory in fase di configurazione).

+0

Mille grazie - l'ho trovato in quella posizione – dgmstuart