programing

gem 이벤트 시스템 치명적 오류: 'sl/ssl.h' 파일을 찾을 수 없음

instargram 2023. 6. 1. 22:14
반응형

gem 이벤트 시스템 치명적 오류: 'sl/ssl.h' 파일을 찾을 수 없음

방금 엘 캐피탄을 설치했고 보석을 설치할 수 없습니다.eventmachine 1.0.7.openssl에 있음1.0.2a-1사용하려고 했습니다.--with-ssl-dir하지만 무시당한 것 같습니다.

그들의 github repo에게도 보고했습니다.

어떤 제안이든 정말 감사합니다.감사해요.

$ ls /usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h
/usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h

$ gem install eventmachine -v '1.0.7' -- --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
/Users/pain/.rbenv/versions/2.1.2/bin/ruby -r ./siteconf20150612-56154-1hsjz2n.rb extconf.rb --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue... yes
checking for clock_gettime()... no
checking for gethrtime()... no
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling binder.cpp
In file included from binder.cpp:20:
./project.h:116:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
         ^
1 error generated.
make: *** [binder.o] Error 1

make failed, exit code 2
$ gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include                                                                                                             
Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include'
This could take a while...
Successfully installed eventmachine-1.0.8
1 gem installed

당신은 또한 이렇게 번들러를 설정할 수 있지만 저는 그것이 피상적이라고 생각합니다.

bundle config build.eventmachine --with-cppflags=-I/usr/local/opt/openssl/include

번들러 및 홈브루를 사용하는 경우:

$ bundle config build.eventmachine --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
brew link --force openssl

그러면:

gem install eventmachine

또한 다음과 같은 문제도 해결됩니다.

  • 보석 설치 택
  • 번들 설치
  • 갈퀴와 레일 작업

추신: 아마도 당신은 제거하고 실행해야 할 것입니다.brew install openssl다시.

이 문제는 Apple이 (El Captain 빌드에서) OSX에서 openssl을 제거했기 때문에 발생합니다.

gem pristine eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include

pristine은 오래된 보석을 제거하고 다시 컴파일합니다.

cpp flags 옵션을 사용하면 컴파일러가 openssl 헤더를 찾을 수 있습니다.

cpp flags 인수를 추상화하려는 경우 다음을 수행할 수 있습니다.

PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig"

다음과 같은 경우 버전을 추가할 수도 있습니다.

gem pristine eventmachine -v '1.0.4' -- --with-cppflags=-I/usr/local/opt/openssl/include

v1.0.3을 설치하려고 했는데 제대로 작동했습니다.

gem install eventmachine -v '1.0.3' -- --with-cppflags=-I/usr/local/opt/openssl/include

이러한 논의는 매우 유용했습니다. https://github.com/eventmachine/eventmachine/issues/602

이는 기계가 이미 다음을 통해 openssl을 설치했다고 가정합니다.brew.

이것으로 문제가 해결되었습니다.

PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" gem install eventmachine -v "1.0.8"

출처: https://github.com/sj26/mailcatcher/issues/254

다른 보석의 종속성으로 EventMachine을 설치하는 경우 보석을 수동으로 설치할 때 올바른 버전을 지정해야 합니다.

gem install eventmachine -v 1.0.5 -- --with-cppflags=-I$(brew --prefix openssl)/include

그런 다음 원래 설치하려던 Gem을 설치할 수 있습니다.

gem install mailcatcher

이것은 더 최근의 이슈처럼 보입니다: https://github.com/eventmachine/eventmachine/issues/936

저는 이 문제를 macOS에서 해결했습니다.12.3.1다음을 포함합니다.

M1 최대값:

gem install eventmachine -- --with-openssl-dir=/opt/homebrew/Cellar/openssl@1.1/1.1.1n/

인텔:

gem install eventmachine -- --with-openssl-dir=/usr/local/Cellar/openssl@1.1/1.1.1n/

한 가지 대안은 전체 사용자 프로필에 대해 다음과 같은 번들러 구성 항목을 추가하는 것입니다.

cd ~
bundle config build.eventmachine --with-cppflags=-I$(brew --prefix openssl)/include

홈 디렉토리에 .vmdk/config 파일을 만들고 이 파일은 실행 시 모든 프로젝트에서 사용됩니다.bundle install.

내겐 효과가 있었어요

    gem install eventmachine -v '1.0.7' -- --debug --backtrace --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib
    Building native extensions with: '--debug --backtrace --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
    This could take a while...
    Successfully installed eventmachine-1.0.7
    Parsing documentation for eventmachine-1.0.7
    Installing ri documentation for eventmachine-1.0.7
    Done installing documentation for eventmachine after 9 seconds
    1 gem installed

참고:- 이 보석을 성공적으로 설치하기 전에 몇 가지 작업을 수행해야 했습니다.이것들은 당신에게 적용될 수 있으니 여기에 나열하세요.

1.)에서 company-VPN을 해제하거나 프록시 설정을 설정해야 할 수 있습니다.

2.) PKG_CONFIG_PATH가 -로 설정되었습니다.

echo $PKG_CONFIG_PATH
/usr/local/opt/openssl/lib/pkgconfig

3.) bash_profile의 $PATH에 다음을 추가해야 했습니다(내 경우 ~/.zshrc).

export PATH="/usr/local/opt/openssl/bin:$PATH"

4.) 또한 이 SO 게시물과 github-event 기계의 이 스레드에서 받은 일부 답변과 달리 설치할 수 없었습니다.eventmachine

gem install eventmachine -v '1.0.7' -- --debug --backtrace --with-cppflags=-I/usr/local/include --with-ldflags=-L/usr/local/lib
Fetching: eventmachine-1.0.7.gem (100%)
Building native extensions with: '--debug --backtrace --with-cppflags=-I/usr/local/include --with-ldflags=-L/usr/local/lib'
This could take a while...
ERROR:  Error installing eventmachine:
    ERROR: Failed to build gem native extension.

인것 같습니다/usr/local/opt/openssl/include이지 올른위지이, 그지않니다습치렇바▁and다가 아닙니다./usr/local/includesl 파일 이름을 할 때 합니다.

동일한 이벤트 시스템 문제가 발생했지만 위의 답변이 나에게 적용되지 않았습니다. 마지막으로 주어진 openssl 버전 작업으로 루비를 다시 설치합니다.

rvm reinstall 3.1.2 --with-openssl-dir=/usr/local/opt/openssl@3

이것은 나를 위해 설치되었습니다.

gem install eventmachine -- --with-openssl-dir=/usr/local/opt/openssl@1.1

이벤트 머신 Github repo에서 받았습니다.분명히 OpenSSL 도구가 MacOS에서 이동/제거되었습니다.

저의 경우 이벤트 머신에 의존하는 다른 것(메일캐처)을 설치하고 싶었습니다.이 작업을 수행할 때 사용한 작업을 수행해야 합니다.eventmachine와 함께mailcatcher상기 명령에 따라

지킬 앤 피쉬:

gem install jekyll -- --with-cppflags=-I(brew --prefix openssl)/include

을 기준으로 2022년을 가정하여,brew install openssl되었습니다. 이미성설치었습되니다로으적공▁has▁success.gem install eventmachine -- --with-cppflags=-I/opt/homebrew/opt/openssl/include

포함 디렉터리가 이동되었습니다.

와 함께openssl@3홈브루에서는 다음 명령을 실행하여 작동했습니다.

gem install eventmachine -- --with-openssl-dir=/usr/local/opt/openssl@3/bin/openssl

에 유의하십시오./bin/openssl내게 변화를 준 마지막에.

Ventura 13.2.1과 Ruby 3.1.2를 사용하는 것은 오직 이것만이 나에게 효과가 있었습니다.

gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl@1.1/include

저에게 효과적인 솔루션은 다음과 같습니다.

지킬을 설치하는 MAC M1에서도 비슷한 이벤트 머신 문제가 있었습니다.은 Stack 를 실행하는 Stack overflow에서 을 받은 이지만, "Stack 는 다음과 같습니다.brew link --force openssl제 문제를 해결하지 못했습니다.

다음과 같이 Opensl 문제를 해결할 수 있었습니다.

려달을 합니다.brew --prefix openssl오픈 경로를 합니다.SSL이 설치되어 있지 . 되어 있지 먼저 하십시오.OpenSSL이 설치되지 않은 경우 먼저 설치합니다.

려달을 합니다.bundle config build.eventmachine --with-openssl-dir=$(brew --prefix openssl).

려달을 합니다.bundle config build.eventmachine --with-cppflags=-I$(brew --prefix openssl)/include.

려달을 합니다.bundle

지킬을 설치할 수 없습니다. "치명적 오류: 'openssl/ssl.h' 파일을 찾을 수 없음"

언급URL : https://stackoverflow.com/questions/30818391/gem-eventmachine-fatal-error-openssl-ssl-h-file-not-found

반응형