মণি ইভেন্টম্যাচাইন মারাত্মক ত্রুটি: 'ওপেনসেল / এসএসএল। hl' ফাইলটি পাওয়া যায় নি


265

সবেমাত্র এল ক্যাপিটান ইনস্টল করেছেন এবং রত্ন ইনস্টল করতে পারবেন না eventmachine 1.0.7openssl1.0.2a-1। ব্যবহারের চেষ্টা করা --with-ssl-dirহলেও এটি উপেক্ষা করা বলে মনে হচ্ছে।

এটি তাদের গিথুব রেপোতেও প্রতিবেদন করেছে ।

কোন পরামর্শ সত্যিই প্রশংসা করা হয়। ধন্যবাদ।

$ 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

উত্তর:


513
$ 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

2
আমার জন্য, এটি কাজ করার আগে আমাকে প্রথমে ওপেনসেল ইনস্টল করতে হয়েছিল। যেমন brew install openssl
রায়ান ওয়ালস

1
যদি আপনার রত্নগুলি আপনার রেপোতে একটি নির্দিষ্ট ডিরেক্টরিতে সেট করা থাকে, vendor/bundleতবে আপনি এটি চালাতে চান bundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include। আমাকে রত্নের সাথে একই জিনিস চালাতে হয়েছিল pumaতাই আমি কল্পনা করেছিলাম যে এটি অন্যান্য রত্নগুলির জন্যও ঘটছে।
কল্টন ফেন্ট 17

4
এর সাথে উত্তর দেখুন: 'বান্ডেল কনফিগারেশন build.eventmachine --with-cppflags = -I $ (brew --prefix ওপেনসেল) / অন্তর্ভুক্ত' lloeki থেকে। এটা আমার জন্য কাজ করেছে। এইটা না.
justingordon

2
এটি আমার gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/includeজন্য ওএসএক্স এল ক্যাপিটেন 10.11.5
জগদীপ সিং

আমার জন্য ইনস্টল করার পরে আমাকে brew install opensslকরতে হবেbrew link openssl --force
জুনিয়র ওশিরো

231

বান্ডলার এবং হোমব্রু ব্যবহার করার সময়:

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

1
আমার জন্য, এটি কাজ করার আগে আমাকে প্রথমে ওপেনসেল ইনস্টল করতে হয়েছিল। যেমন brew install openssl
রায়ান ওয়ালস

এই সংস্করণটি আমার কাছে রুবি ২.১.২ এর উপরে ইভেন্টম্যাচিন 1.0.3 ইনস্টল করার জন্য কাজ করেছে
dtburgess

ফ্যান্টাস্টিক! এটি অন্যান্য রত্নগুলির জন্যও যাওয়ার উপায় (যেমন পুমা) যা
ওপেনসেলের

আমি মনে করি এই উত্তর অনুমোদিতটির চেয়ে উত্তম, কারণ যেহেতু এটি bundle installআসল রত্ন ইনস্টলেশনটি ব্যবহার করে তাই এটি আপনার গন্ডিতে উল্লিখিত সঠিক সংস্করণটি ইনস্টল করার নিশ্চয়তা দেয়। গৃহীত উত্তর সর্বশেষ সংস্করণ ইনস্টল করবে, যদি না আপনি অন্তর্ভুক্ত -v x.x.xমধ্যে gem installনিজে কমান্ড।
আর্নেস্তো

115
brew link --force openssl

তারপর:

gem install eventmachine

এটিও স্থির করে:

  • রত্ন ইনস্টল টাকা
  • বান্ডিল ইনস্টল
  • রাক এবং রেল কাজ

পিএস সম্ভবত আপনার অপসারণ এবং brew install opensslআবার চালানো দরকার

সমস্যাটি হ্রাস পেয়েছে কারণ অ্যাপল ওএসএক্স থেকে ওপেনসেল সরিয়ে নিয়েছে (এল ক্যাপ্টেন বিল্ডে)


10
এটি আসলে এল ক্যাপিটানের উপর স্থির ছিল।
jedstrom

স্পষ্টকরণের জন্য, ব্রিউয়ের অপসারণ / ইনস্টল / লিঙ্কের আদেশ কী
আব্রাম

7
@ আব্রামের ক্ষেত্রে brew link --force opensslকোনও প্রভাব ছিল না। তারপরে brew uninstall openssl, করুন brew install openssl,brew link --force openssl
itnikolay

এটি আজ একটি ম্যাকের উত্তর (এল ক্যাপিটান, 2015-2016)। সম্পাদনা: খাঁটি ওপেনসেলকে জোর করছে। আমার ইভেন্ট ম্যাসিনের কোনও সংস্করণ নির্দিষ্ট করার দরকার নেই (আমি মিডলম্যান ইনস্টল করছি)।
রায়ান বসিনগার

1
আমার জন্যও কাজ করেছেন। ভাল কল.
কিস ব্রিগেস

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

মূল পুরানো রত্নটি সরিয়ে পুনরায় সংশোধন করে।

সিপিপি ফ্ল্যাগ বিকল্পটি সংকলককে ওপেনসেল শিরোনামগুলি সন্ধান করতে দেয়।

আপনি যদি চান তবে সংস্করণটি যুক্ত করতে পারেন:

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

1
এর pristineপরিবর্তে কেন install?
রিকার্ডো ফ্রেইটাস

4
gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/includeআমার জন্য কাজ।
ডায়লানথেপিগুয়ে

8

আপনি যদি ইভেন্ট ম্যাসিনকে অন্য রত্নের নির্ভরতা হিসাবে ইনস্টল করছেন, আপনি মণি ম্যানুয়ালি ইনস্টল করার সময় সঠিক সংস্করণটি নির্দিষ্ট করে নিন:

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

তারপরে আপনি মূলত যে মণিটি ইনস্টল করার চেষ্টা করেছিলেন তা ইনস্টল করতে পারেন:

gem install mailcatcher

8

আমি ভি 1.0.3 ইনস্টল করার চেষ্টা করছিলাম এবং এটি আমার জন্য কাজ করেছিল।

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

এই আলোচনাগুলি খুব সহায়ক ছিল। https://github.com/eventmachine/eventmachine/issues/602


2
আপনার আগে হাইপেন দরকার I/usr/local/opt/openssl/include। এটি একটি চরিত্র যাতে
স্ট্যাকওভারফ্লো

1
এটি ঠিক করুন @ মাইকোলবেন
ব্লকলুপ op

4

একটি বিকল্প হ'ল আপনার পুরো ব্যবহারকারীর প্রোফাইলের জন্য বান্ডলার কনফিগারেশনের এন্ট্রি যুক্ত করুন:

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

এটি আপনার হোম ডিরেক্টরিতে একটি .bundle / কনফিগারেশন ফাইল তৈরি করবে, যা আপনি চালনার সময় আপনার সমস্ত প্রকল্পে ব্যবহৃত হবে bundle install


4

এটি আমার জন্য সমস্যার সমাধান:

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

সূত্র: https://github.com/sj26/mailcatcher/issues/254


অহেতুক জটিল, কেন কেবল বৈচিত্র্য সেট করবেন না: এক্সপোর্ট করুন PKG_CONFIG_PATH = $ (বারউ --প্রিফিক্স ওপেনসেল) / lib / pkgconfig # এখন আপনি যে কোনও প্যাকেজ ইনস্টল করতে পারেন, .bashrc এ যুক্ত করতে পারেন বা আপনি যা ব্যবহার করতে পারেন
গেরি গ্লিসন

0

এটি আমার পক্ষে কাজ করেছে -

    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.) কর্পোরেট-ভিপিএন বন্ধ হয়ে গেছে বা আপনাকে প্রক্সি সেটিংস চালু করতে হতে পারে

২) PKG_CONFIG_PATH সেট করা ছিল -

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

৩) বাশ_প্রোফাইলে (আমার ক্ষেত্রে ~ / .zshrc) $ PATH এর সাথে নিম্নলিখিতগুলি যুক্ত করতে হয়েছিল

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

৪) এছাড়াও মনে রাখবেন, আমি এই এসও পোস্টে প্রাপ্ত কিছু উত্তরগুলির বিপরীতে, এবং এই থ্রেডটি গিথুব-ইভেন্টম্যাচিনেও পেয়েছি , আমি ইনস্টল করতে সক্ষম হইনি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এটি সঠিক অবস্থান বলে মনে হচ্ছে না /usr/local/include

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.