2015-07-15 11 views
5

Ho provato ad installare graph-tool su Mac OSX 10.10 usando homebrew. Il processo di produzione di birra funziona bene, ma quando provo ad importare lo strumento grafico ottengo the error described in this question. Un altro problema con homebrew è che costruisco sempre graph-tool per python2.7 e installa i pacchetti nella cartella sit-packages Python 2.7. Ma voglio usarlo con Python 3.4. Questi sono i motivi per cui ho provato a creare graph-tool dal sorgente.Building graph-tool su OSX con Python 3.4

Il comando ./configure utilizza automaticamente anche Python 2.7. Così ho passato la versione di Python desiderato con ./configure PYTHON=python3.4

E poi rileva la versione corretta, così come i relativi percorsi, ma urto con il seguente errore:

configure: error:
Could not link test program to Python. Maybe the main Python library has been installed in some non-standard library path. If so, pass it to configure, via the LDFLAGS environment variable.
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"

====================================================================== ERROR! You probably have to install the development version of the Python package for your distribution. The exact name of this package varies among them.

======================================================================

L'errore si verifica con e senza PYTHON set variabile. Dalla uscita del ./configure posso vedere che tutto funziona bene, tranne per l'ultima riga, che dice:

checking consistency of all components of python development environment... no

Che cosa vuol dire la linea precedente e come posso installare correttamente grafico-strumento sul mio maschine?

risposta

2

Il messaggio di errore sta spiegando esattamente che cosa deve essere fatto. Poiché python è stato installato in un percorso non standard, è necessario passare il flag LDFLAGS="-L/usr/non-standard-path/python/lib" puntando alla directory in cui si trovano le librerie python. Molto probabilmente questo è "/usr/local/lib", se stai usando homebrew.

+0

Ho provato a impostare LDFLAGS prima di pubblicare questa domanda, ma sfortunatamente non ha avuto alcun effetto. – MaxPowers

+0

Quindi probabilmente non hai superato il percorso corretto. Cerca all'interno del file config.log per vedere l'errore effettivo. –

+0

Non mi ha aiutato neanche. Sembrerebbe che l'opzione '-u _PyMac_Error Python.framework/Versions/2.7/Python' su gcc sia ciò che sta causando una strozzatura ma non abbiamo idea di come risolvere questo –

0

stavo ottenendo questo errore quando stavo cercando di installare graph-tool utilizzando superata una combinazione autoconf/automake/pkg-config (installato utilizzando yum in CentOS 5.10). L'installazione di questi pacchetti dall'origine ha risolto il problema ... anche se non sono sicuro di come questo sia collegato alla mia installazione python ....

0

Ha funzionato per me passando la variabile PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -F/usr/local/Cellar/python3/3.6.3/Frameworks -framework CoreFoundation".
Nel tuo caso, sarebbe il percorso per l'installazione homebrew di python3.4.
Il modo in cui ho scoperto è che nel config.log, il messaggio di errore mostra il seguente:

configure:19023: checking python extra libraries 
configure:19030: result: -ldl -framework CoreFoundation 
configure:19037: checking python extra linking flags 
configure:19044: result: -Wl,-stack_size,1000000 -framework CoreFoundation Python.framework/Versions/3.6/Python 
configure:19051: checking consistency of all components of python development environment 
configure:19079: gcc -o conftest -g -O2 -DNDEBUG -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -F/usr/local/Cellar/python3/3.6.3/Frameworks/ -Wl,-stack_size,1000000 -framework CoreFoundation Python.framework/Versions/3.6/Python conftest.c -L/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib -lpython3.6m -ldl -framework CoreFoundation -ldl -framework CoreFoundation >&5 
clang: error: no such file or directory: 'Python.framework/Versions/3.6/Python' 

L'errore sembra essere percorso 'Python.framework/Versions/3.6/Python', che in un'installazione homebrew non esiste. Cerco lo stesso percorso nel config.log e ho trovato questa linea:

PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -framework CoreFoundation Python.framework/Versions/3.6/Python" 

Quindi, la soluzione per me è stato quello di passare questa variabile con la strada giusta.