2015-10-16 33 views
26

Sto cercando di installare Apache Thrift sul mio Mac, ma sto riscontrando un problema. Ho seguito la procedura di installazione su this page, ma quando cerco di fare i passi per l'installazione libevent, ottengo l'errore seguente quando si esegue il comando make:errore fatale: file 'openssl/bio.h' non trovato

fatal error because of 'openssl/bio.h' file not found

Screenshot of actual error

ho controllato la versione di openSSL che sto usando, ed è "0.9.8zg"

Qualche consiglio su cosa dovrei fare per risolvere questo problema?

+0

Stack Overflow è un sito per questioni di programmazione e sviluppo. Questa domanda sembra essere fuori tema perché non riguarda la programmazione o lo sviluppo. Vedi [Quali argomenti posso chiedere qui] (http://stackoverflow.com/help/on-topic) nel Centro assistenza. Forse [Super User] (http://superuser.com/) o [Apple Stack Exchange] (http://apple.stackexchange.com/) sarebbe un posto migliore dove chiedere. Vedi anche [Dove posso pubblicare domande su Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

+2

Se si desidera installare Thrift, perché non 'brew install thrift'? – Shoham

risposta

3

Sei in El Capitan? Questo sembrava essere il mio problema.

risposta di Jeremy su questo tema Puma ha lavorato per me:

https://github.com/puma/puma/issues/718

Il mio problema era legato a Puma gemma specifico, ma il problema potrebbe essere simile se su El Capitan.

+0

Grazie per il tuo aiuto, e sono su EI Capitan, faccio come risposta di Jeremy, ma non riesco ancora a funzionare ora, l'errore è ancora visibile. Ma trovo di non avere una directory come "/ usr/local/opt/openssl ", ho solo directory come"/usr/local/openssl ", ma non importa quale percorso io usi, non ha funzionato ancora per me. Hai qualche altra soluzione? –

+3

Questo ha risolto il mio problema, grazie. Nello specifico: 'gem installa puma - --with-opt-include =/usr/local/opt/openssl/include' – gdgr

+0

@ Lewis-Eric - Avrei bisogno di vedere più dettagli del registro degli errori per aiutare. scusa. sembra che hai installato openssl, ma per qualche motivo il percorso non funziona. – jakeatwork

6

Stavo anche correndo questo problema durante l'installazione di Apache Thrift ed ecco come l'ho risolto per l'installazione del mio sistema.

Il mio sistema operativo è El Capitan (10.11.1) con tutti gli ultimi aggiornamenti installati e ho usato MacPorts per installare openssl (versione 1.0.2e 3 dic 2015). Questo è installato in /opt/local. In ogni caso, prova a trovare bio.h (per il mio caso si trovava a /opt/local/include/openssl/bio.h) e puoi probabilmente dire dove è installato openssl per la tua configurazione. Quando si è nella cartella libevent ed eseguire:

./configure --help 

vedrete che

--includedir=DIR  C header files [PREFIX/include] 

Dal PREFIX è /usr/local come da istruzioni, ho dovuto creare un link simbolico in /usr/local/include.

cd /usr/local/include 
sudo ln -s /opt/local/include/openssl/ openssl 

Ora make viene eseguito senza errori.

+1

che ha funzionato per me – gibffe

17

Ho lo stesso problema durante l'installazione di Thrift come gli altri. Nel mio caso ho risolvere seguendo il prossimo Jira:

https://jira.mongodb.org/browse/CDRIVER-941

Another approach is, after "brew install openssl", to do "brew link openssl --force", which installs headers to /usr/local/include/openssl.

$ brew install openssl 
$ brew link openssl --force 

For some reason, Homebrew's own pkg-config knows that OpenSSL is homebrewed only once you run "link openssl --force":

$ pkg-config --variable=includedir openssl

/usr/local/Cellar/openssl/1.0.2d_1/include

+0

Grazie! Questo ha risolto il mio problema! – megido

1

per l'installazione libevent su Mac: http://macappstore.org/libevent/

asporto per questo sito:

  1. rubino -e "$ (ricciolo -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null 2>/dev/null
  2. brew installare libevent

dell'errore openssl:

Il metodo più pulito dovrebbe essere quello di dire al compilatore di usare Mac OS's openssl impostando le corrispondenti variabili d'ambiente.

Si può fare durante la fase di configurazione:

./configure CXXFLAGS = '- I/usr/local/bin -L usr/local/include'

26

Sono su El Capitan 10.11 .6 e ho avuto il problema durante l'installazione manuale dell'estensione php mongodb.

ho risolto seguendo le indicazioni di @ user7059092 circa la fase di configurazione:

$./configure LDFLAGS='-L/usr/local/opt/openssl/lib' CPPFLAGS='-I/usr/local/opt/openssl/include'

+1

grazie mille. Sono stato bloccato sul problema per un po '. La soluzione ha funzionato per me – User31

+0

Posso confermare che funziona anche durante l'installazione. La configurazione deve essere eseguita prima della marca. – shridharama

Problemi correlati