Câu hỏi lỗi nghiêm trọng: không tìm thấy tệp 'openssl / bio.h'


Tôi đang cố gắng để cài đặt Apache Thrift trên máy Mac của tôi, nhưng tôi đang gặp một vấn đề. Tôi đã làm theo các bước cài đặt trên trang nàynhưng khi tôi cố gắng thực hiện các bước để cài đặt libevent, Tôi nhận được lỗi sau khi chạy make chỉ huy:

lỗi nghiêm trọng vì không tìm thấy tệp 'openssl / bio.h'

Ảnh chụp màn hình của lỗi thực tế

Tôi đã kiểm tra phiên bản openSSL tôi đang sử dụng và đó là "0.9.8zg"

Có lời khuyên nào về việc tôi nên làm gì để sửa lỗi này không?


27
2017-10-16 07:49


gốc


Stack Overflow là một trang web cho các câu hỏi lập trình và phát triển. Câu hỏi này dường như không có chủ đề vì nó không phải là về lập trình hay phát triển. Xem Tôi có thể hỏi những chủ đề nào ở đâytrong Trung tâm trợ giúp. Có lẽ Siêu người dùng hoặc là Apple Stack Exchange sẽ là một nơi tốt hơn để hỏi. Cũng thấy Tôi đăng câu hỏi về Dev Ops ở đâu?. - jww
Nếu bạn chỉ muốn cài đặt Tiết kiệm, tại sao không brew install thrift ? - Shoham


Các câu trả lời:


Tôi đang ở trên El Capitan 10.11.6 và tôi gặp sự cố khi cài đặt thủ công phần mở rộng mongodb php.

Tôi đã giải quyết nó theo các chỉ dẫn của @ user7059092 về giai đoạn định cấu hình:

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


36
2017-10-24 08:49



cảm ơn rất nhiều. Tôi đã gặp vấn đề trong một thời gian. Bạn giải pháp làm việc cho tôi 🏻 - User31
Tôi có thể xác nhận rằng điều này hoạt động trong khi cài đặt tiết kiệm là tốt. Cấu hình nên được thực hiện trước khi thực hiện. - shridharama


Tôi đã cùng một vấn đề trong khi cài đặt Tiết kiệm như những người khác. Trong trường hợp của tôi, tôi giải quyết theo Jira tiếp theo:

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

Một cách tiếp cận khác là, sau khi "brew install openssl", để làm "brew link   openssl --force ", cài đặt các tiêu đề cho    / usr / local / include / openssl. 

$ brew install openssl 
$ brew link openssl --force

Đối với một số lý do, Homebrew của riêng pkg-config biết rằng OpenSSL là homebrewed chỉ một khi bạn chạy "link openssl --force":

$ pkg-config --variable=includedir openssl

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


17
2018-01-11 21:11



Cảm ơn! Điều này giải quyết được vấn đề của tôi! - megido


Tôi cũng đã chạy vào vấn đề này khi cài đặt apache tiết kiệm và đây là cách tôi giải quyết nó cho thiết lập hệ thống của tôi.

Hệ điều hành của tôi là El Capitan (10.11.1) với tất cả các bản cập nhật mới nhất được cài đặt và tôi đã sử dụng MacPorts để cài đặt openssl (phiên bản 1.0.2e 3 tháng 12 năm 2015). Cài đặt openssl này trong /opt/local. Trong mọi trường hợp, hãy cố gắng tìm bio.h (đối với trường hợp của tôi được đặt tại /opt/local/include/openssl/bio.h) và bạn có thể biết nơi openssl được cài đặt cho thiết lập của bạn. Khi bạn ở trong libevent thư mục và chạy:

./configure --help

bạn sẽ thấy rằng

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

PREFIX Là /usr/local theo hướng dẫn, tôi chỉ cần tạo liên kết tượng trưng trong /usr/local/include.

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

Hiện nay make thực hiện mà không có lỗi.


6
2017-12-15 14:59



đã làm việc cho tôi - gibffe


Bạn đang ở El Capitan? Đó dường như là vấn đề của tôi.

Câu trả lời của Jeremy về vấn đề Puma này đã làm việc cho tôi:

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

Vấn đề của tôi liên quan đến đá quý Puma, nhưng vấn đề của bạn có thể tương tự nếu trên El Capitan.


3
2017-10-16 23:53



Cảm ơn sự giúp đỡ của bạn, và tôi đang trên EI Capitan, tôi làm câu trả lời của Jeremy, nhưng tôi vẫn không thể làm việc ngay bây giờ, lỗi vẫn còn đó. Nhưng tôi thấy tôi không có thư mục như "/ usr / local / opt / openssl ", tôi chỉ có thư mục như" / usr / local / openssl ", nhưng không có vấn đề gì con đường tôi sử dụng, nó vẫn không làm việc cho tôi. Bạn có giải pháp nào khác không? - Lewis-Eric
Điều này giải quyết được vấn đề của tôi, cảm ơn. Đặc biệt: gem install puma -- --with-opt-include=/usr/local/opt/openssl/include - gdgr
@ Lewis-Eric - tôi cần xem thêm chi tiết nhật ký lỗi để trợ giúp. lấy làm tiếc. có vẻ như bạn đã cài đặt openssl, nhưng vì lý do nào đó, đường dẫn không hoạt động. - jakeatwork
@ Lewis-Eric hy vọng điều này được giải quyết ngay bây giờ, nhưng nếu không, brew install openssl nên có phiên bản OpenSSL phù hợp với bạn. Nhận xét cụ thể đã giúp tôi github.com/puma/puma/issues/718#issuecomment-139624081. Về cơ bản, nếu bạn đang sử dụng bundle install, nó sẽ không nhất thiết phải đọc puma cài đặt gem, vì vậy bạn cần phải thiết lập các tùy chọn toàn cầu cho bundle / puma: bundle config build.puma --with-opt-dir=/usr/local/opt/openssl - jcasner


để cài đặt libevent trên Mac: http://macappstore.org/libevent/

takeaway cho trang web này:

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

cho lỗi openssl:

Phương pháp sạch nhất là bạn nên yêu cầu trình biên dịch sử dụng openssl của MacOS bằng cách thiết lập các biến môi trường tương ứng.

Bạn có thể làm điều đó trong giai đoạn cấu hình:

./configure CXXFLAGS = '- Tôi / usr / local / bin -L usr / local / include'


1
2017-10-23 02:46