macos होमब्रे ओपनएसएसएल को जोड़ने से इंकार कर रहा है




openssl homebrew (8)

इन समाधानों में से कोई भी मेरे लिए ओएस एक्स एल कैपिटन 10.11.6 पर काम नहीं करता है। संभवतः क्योंकि ओएस एक्स के पास ओपनएसएल का मूल संस्करण है जो मानता है कि यह बेहतर है, और इस तरह, छेड़छाड़ पसंद नहीं है।

तो, मैंने उच्च सड़क ली और ताजा शुरू किया ...

मैन्युअल रूप से स्थापित करें और सिमलिंक करें

cd /usr/local/src  
  • अगर आपको "ऐसी कोई फ़ाइल या निर्देशिका" नहीं मिल रही है, तो इसे बनाएं:

    cd /usr/local && mkdir src && cd src

Openssl डाउनलोड करें:

curl --remote-name https://www.openssl.org/source/openssl-1.0.2h.tar.gz

निकालें और सीडी में:

tar -xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h

संकलन और स्थापित करें:

./configure darwin64-x86_64-cc --prefix=/usr/local/openssl-1.0.2h shared
make depend
make
make install

अब अपने नए और अद्यतन openssl के लिए ओएस एक्स के openssl symlink:

ln -s /usr/local/openssl-1.0.2h/bin/openssl /usr/local/bin/openssl

टर्मिनल बंद करें, एक नया सत्र खोलें, और ओएस एक्स को सत्यापित करें अपने नए openssl का उपयोग कर रहा है:

openssl version -a

मैं इस पर हूं: ओएसएक्स 10.11.6, होमब्रू संस्करण 0.9.9 एम ओपनएसएसएल 0.9.8zg 14 जुलाई 2015

मैं dotnetcore के साथ खेलने के लिए और उनके instructions पालन ​​करके कोशिश कर रहा हूँ,

मैंने openssl के नवीनतम संस्करण को अपग्रेड / स्थापित किया है:

> brew install openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
Already downloaded: /Users/administrator/Library/Caches/Homebrew/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Pouring openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

लेकिन जब मैं openssl को जोड़ने का प्रयास करता हूं तो मैं इस लिंकिंग त्रुटि में भागना जारी रखता हूं:

> brew link --force openssl
Warning: Refusing to link: openssl
Linking keg-only OpenSSL means you may end up linking against the insecure,
deprecated system version while using the headers from the Homebrew version.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

कंपाइलर झंडे को शामिल करने का विकल्प मुझे समझ में नहीं आता है, क्योंकि मैं इन पुस्तकालयों को संकलित नहीं कर रहा हूं जिन पर मैं निर्भर हूं।

EDIT dotnetcore ने अपने निर्देश अपडेट किए हैं:

brew update    
brew install openssl    
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/    
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/

इस पर एक नोट छोड़ने के लिए, मैंने अपने मैक को माइग्रेट कर दिया था और यह मेरे सभी होमब्री इंस्टॉल को अनलिंक कर दिया था, जिसमें यह भी शामिल था। यह gem install तोड़ दिया, जिस तरह से मैंने इसे पहली बार सुधारने की कोशिश करने पर शुरू किया।

मैंने दस लाख समाधानों की कोशिश की (मैं ओएसएक्स सिएरा - 10.12.5 पर हूं) और समाधान कॉमिकली सरल होने के बाद समाप्त हुआ:

brew reinstall ruby
brew reinstall openssl

इसी से मेरा काम बना है:

brew update
brew install openssl
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/Cellar/openssl/1.0.2j/bin/openssl /usr/local/bin/openssl

इस थ्रेड पर @ डोरलैंडोड के लिए धन्यवाद github.com/Homebrew/brew/pull/597

एनबी: मैंने इसे केवल एक अस्थायी फिक्स के रूप में उपयोग किया जब तक कि मैं खरोंच से ओपनेंस को फिर से स्थापित करने में सही समय नहीं लगा सकता। जैसा कि मुझे याद है कि मैंने एक दिन डीबगिंग का सबसे अच्छा हिस्सा बिताया और इससे पहले कि मुझे एहसास हुआ कि मैन्युअल रूप से उन कर्टों को स्थापित करना सबसे अच्छा तरीका था, मुझे एक-एक करके एक की आवश्यकता थी। इसे करने से पहले कृपया @ बुके की टिप्पणी में लिंक पढ़ें।


बस brew info openssl निष्पादित करें और वह जानकारी पढ़ें जहां यह कहता है:

यदि आपको पहले अपने पैथ रन में इस सॉफ़्टवेयर की आवश्यकता है: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile


एडवर्डथसेकंड से ऊपर का समाधान सिएरा पर भी मेरे लिए काम करता था

 brew install openssl
 cd /usr/local/include 
 ln -s ../opt/openssl/include/openssl 
 ./configure && make

मैंने पहले किए गए अन्य कदम थे:

  • ब्रू के माध्यम से openssl स्थापित करना

    brew install openssl
    
  • होमब्री द्वारा सुझाए गए पथ में openssl जोड़ना

    brew info openssl
    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    

यह मेरे लिए काम किया:

 brew install openssl
 cd /usr/local/include 
 ln -s ../opt/openssl/include/openssl .

सब कुछ करने के बाद मैं पा सकता था और कुछ भी काम नहीं किया, मैंने बस कोशिश की:

touch ~/.bash_profile; open ~/.bash_profile

फ़ाइल के अंदर इस लाइन को जोड़ा गया।

export PATH="$PATH:/usr/local/Cellar/openssl/1.0.2j/bin/openssl"

अब यह काम कर रहा है :)

Jorns-iMac:~ jorn$ openssl version -a
OpenSSL 1.0.2j  26 Sep 2016
built on: reproducible build, date unspecified
//blah blah
OPENSSLDIR: "/usr/local/etc/openssl"

Jorns-iMac:~ jorn$ which openssl
/usr/local/opt/openssl/bin/openssl

नोट: यह अब https://github.com/Homebrew/brew/pull/612 कारण काम नहीं करता है

मुझे आज भी यही समस्या थी। मैं अनइंस्टॉल किया गया (असंबद्ध ??) openssl 1.0.2 और होमब्रू के साथ भी 1.0.1 स्थापित किया। डॉटनेट नया / पुनर्स्थापित / रन फिर ठीक काम किया।

Openssl 101 स्थापित करें:
ब्रूव होमब्री / संस्करण / openssl101 स्थापित करें
लिंक करना:
ब्रू लिंक - फोर्स होमब्रू / संस्करण / openssl101





.net-core