2015-10-16 9 views
26

Ich versuche, Apache Thrift auf meinem Mac zu installieren, stoße aber auf ein Problem. Ich folgte die Installationsschritte auf this page, aber wenn ich versuche, die Schritte zu tun libevent für die Installation, ich die folgende Fehlermeldung erhalten, wenn Sie den make Befehl ausführen:Schwerwiegender Fehler: Datei 'openssl/bio.h' nicht gefunden

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

Screenshot of actual error

ich die Version überprüft haben von OpenSSL ich verwende, und es ist "0.9.8zg"

Irgendwelche Ratschläge, was ich tun sollte, um dies zu beheben?

+0

Stack-Überlauf eine Seite für die Programmierung und Entwicklungsfragen ist. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Apple Stack Exchange] (http://apple.stackexchange.com/) wäre ein besserer Ort zu fragen. Siehe auch [Wo veröffentliche ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

+2

Wenn Sie nur Thrift installieren möchten, warum nicht 'brew install thrift'? – Shoham

Antwort

3

Sind Sie auf El Capitan? Das schien mein Problem zu sein.

Jeremy Antwort auf diese Frage Puma für mich gearbeitet:

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

Mein Problem Puma gem speziell verwandt war, aber das Problem könnte, wenn auf El Capitan ähnlich sein.

+0

Vielen Dank für Ihre Hilfe, und ich bin auf EI Capitan, ich mache wie Jeremy's Antwort, aber ich kann immer noch nicht arbeiten, der Fehler immer noch da draußen.Aber ich finde ich habe kein solches Verzeichnis wie "/ usr/local/opt/openssl ", ich habe nur ein Verzeichnis wie"/usr/local/openssl ", aber egal welchen Pfad ich benutze, es funktionierte immer noch nicht für mich. Hast du eine andere Lösung? –

+3

Das hat mein Problem gelöst, danke. Im Einzelnen: 'Gem install puma - - mit-opt-include =/usr/local/opt/openssl/include' – gdgr

+0

@ Lewis-Eric - ich müsste mehr Fehlerdetails Details zu helfen. Es tut uns leid. es sieht so aus, als ob du openssl installiert hast, aber aus irgendeinem Grund funktioniert der Pfad nicht. – jakeatwork

6

Ich war auch auf dieses Problem bei der Installation von Apache Thrift und hier ist, wie ich es für mein System-Setup gelöst habe.

Mein Betriebssystem ist El Capitan (10.11.1) mit den neuesten Updates installiert und ich MacPorts verwendet, um OpenSSL (Version 1.0.2e 3 Dec 2015) zu installieren. Diese installierte openssl in /opt/local. Versuchen Sie auf jeden Fall, bio.h zu finden (für meinen Fall wurde bei /opt/local/include/openssl/bio.h gefunden), und Sie können wahrscheinlich sagen, wo openssl für Ihre Einrichtung installiert ist. Wenn Sie in der libevent Ordner sind und laufen:

./configure --help 

werden Sie sehen, dass

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

Seit PREFIX ist /usr/local gemäß Anweisungen, musste ich einfach einen Symlink in /usr/local/include erstellen.

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

Jetzt wird make ohne Fehler ausgeführt.

+1

das funktionierte für mich – gibffe

17

Ich habe das gleiche Problem bei der Installation von Thrift wie andere. In meinem Fall solve folgende ich die nächste 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/

+0

Danke! Das hat mein Problem gelöst! – megido

1

für die Installation von libevent auf Mac sind: http://macappstore.org/libevent/

Service für diese Seite:

  1. ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null 2>/dev/null
  2. Gebräu installieren libevent

für die openssl Fehler:

Die sauberste Methode ist, dass Sie dem Compiler sagen, dass er openOS von MacOS verwenden soll, indem Sie entsprechende Umgebungsvariablen setzen.

Sie, dass während der Konfigurationsphase tun:

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

26

Ich bin auf dem El Capitan 10.11 .6 und ich hatte das Problem bei der manuellen Installation der mongodb php-Erweiterung.

Ich löste es gemäß den Angaben des @ user7059092 über die configure Stufe:

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

+1

vielen Dank. Ich habe mich eine Weile an das Thema gehalten. Sie Lösung arbeitete für mich – User31

+0

Ich kann bestätigen, dass dies funktioniert, während der Installation von Sparsamkeit sowie. Die Konfiguration sollte vor dem make erfolgen. – shridharama