2015-10-16 27 views
26

我試圖在我的Mac上安裝Apache Thrift,但遇到了問題。 我也跟着上this page安裝步驟,但是當我嘗試做的步驟安裝libevent,運行make命令時,我得到了以下錯誤:致命錯誤:'openssl/bio.h'文件未找到

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

Screenshot of actual error

我檢查版本我正在使用的openSSL,它是「0.9.8zg」

有什麼建議我應該怎麼做才能解決這個問題?

+0

Stack Overflow是用於編程和發展問題的站點。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Apple Stack Exchange](http://apple.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關Dev Ops的問題?](http://meta.stackexchange.com/q/134306)。 – jww

+2

如果你只是想安裝Thrift,爲什麼不'brew brew thrift'? – Shoham

回答

3

你在El Capitan嗎?這似乎是我的問題。

傑里米對這個問題彪馬答案爲我工作:

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

我的問題具體涉及到彪馬的寶石,但你的問題可能是,如果在埃爾卡皮坦相似。

+0

感謝您的幫助,我在EI Capitan,我是傑里米的回答,但現在仍然無法工作,錯誤依然存在。但是我發現我沒有像「/ usr/local/opt/openssl「,我只有像」/ usr/local/openssl「這樣的目錄,但無論我使用哪個路徑,它仍然不適用於我。你有其他解決方案嗎? –

+3

這解決了我的問題,謝謝。具體來說:'gem install puma - --with-opt-include =/usr/local/opt/openssl/include' – gdgr

+0

@ Lewis-Eric - 我需要查看更多錯誤日誌的詳細信息以提供幫助。抱歉。它看起來像你有openssl安裝,但由於某種原因,路徑無法正常工作。 – jakeatwork

6

我在安裝apache Thrift時也遇到了這個問題,這裏是我爲我的系統安裝程序解決這個問題。

我的操作系統是El Capitan(10.11.1),安裝了所有最新的更新,並使用MacPorts安裝openssl(版本1.0.2e 2015年12月3日)。這在/opt/local中安裝了openssl。無論如何,請嘗試找到bio.h(我的案例位於/opt/local/include/openssl/bio.h),並且您可能知道安裝openssl的位置。當你在libevent夾,然後運行:

./configure --help 

你會看到

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

由於PREFIX/usr/local按照指示,我只是在/usr/local/include創建符號鏈接。

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

現在make執行沒有錯誤。

+1

對我有用 – gibffe

17

我和其他人一樣安裝Thrift時遇到同樣的問題。在我來說,我解決之後的下一個吉拉:

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

謝謝!這解決了我的問題! – megido

1

在Mac上安裝了libevent:本網站http://macappstore.org/libevent/

外賣:

  1. 紅寶石-e 「$(捲曲-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)」 <的/ dev/null的2>/dev的/空
  2. 釀造安裝了libevent

的OpenSSL的錯誤:

最簡潔的方法應該是告訴編譯器通過設置相應的環境變量來使用MacOS的openssl。

您可以在配置階段做到這一點:

的./configure CXXFLAGS = ' - 我的/ usr/local/bin目錄-L USR /本地/包括'

26

我在埃爾卡皮坦10.11 .6和我手動安裝mongodb php擴展時遇到了問題。

我解決了它下面@ user7059092的有關配置階段的適應症:

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

+1

非常感謝。我一直在這個問題上停滯不前。你的解決方案爲我工作 – User31

+0

我可以證實,這個工程同時安裝節儉。配置應該在make之前完成。 – shridharama