2016-07-19 24 views
5

स्थापित करने के लिए मैकपॉर्ट्स ओपनएसएसएल फोर्स लिंक मैं माइक्रोसॉफ्ट से DotNet core के साथ मैकपॉर्ट्स का उपयोग करके मैकिंटोश पर डॉटनेट स्थापित कर रहा हूं।डॉटनेट

ports install openssl 

क्या "काढ़ा लिंक --force openssl" क्या करता है, और कैसे मुझे लगता है कि एक ही लागू कर सकते हैं: मैं OpenSSL MacPorts के माध्यम से स्थापित किया है

brew update 
brew install openssl 
brew link --force openssl 

: उनके साइट homebrew से OpenSSL स्थापित करने के लिए कहते हैं मैकपॉर्ट्स का उपयोग कर चीज?

धन्यवाद!

+0

तो अगर मैं सही ढंग से समझ, आप एक आदेश है जो आप क्या समारोह एक और पैकेज प्रबंधक में है पता नहीं है लागू करना चाहते हैं कि इसका इरादा नहीं है? मुझे संदेह है कि यह एक अच्छा विचार है। –

+1

चूंकि सवाल .NET कोर के संदर्भ में पूछा गया था, मुझे नहीं लगता कि ओपी मैकपॉर्ट्स में "लिंक" कमांड को लागू करना चाहता है, लेकिन वह आदेश जो कुछ भी करता है उसे फिर से बनाना चाहता है। विशेष रूप से, उस कमांड के बराबर के बिना, .NET कोर ओपनएसएसएल (0.9.8 कुछ) का ओएस एक्स संस्करण पाता है लेकिन मैकपॉर्ट्स संस्करण (1.0.2 कुछ नहीं) और क्रैश नहीं। –

+0

'ब्रू लिंक' '/ usr/local' में openssl फॉर्मूला द्वारा स्थापित फ़ाइलों के लिए सिम्लिंक बनाता है; होमब्रू आमतौर पर केवल '/ usr/local/cellar' के नीचे एक फ़ोल्डर में फ़ाइलों को स्थापित करता है। – neverpanic

उत्तर

4

मुझे इस विशेष समस्या का समाधान मिला, लेकिन .NET कोर के issue 173 में अधिक सामान्य नहीं। संक्षेप में, आप /usr/local/lib को libcrypto.dylib और libssl.dylib की MacPorts संस्करणों लिंक करने की आवश्यकता:

sudo ln -s /opt/local/lib/libcrypto.1.0.0.dylib /usr/local/lib/libcrypto.1.0.0.dylib 
sudo ln -s /opt/local/lib/libssl.1.0.0.dylib /usr/local/lib/libssl.1.0.0.dylib 
+2

आपको ऐसा नहीं करना चाहिए। इसके बजाय, लोडर को '/ opt/local/lib' में लाइब्रेरी ढूंढने के लिए 'DYLD_FALLBACK_LIBRARY_PATH =/opt/local/lib' निर्यात करें, या डॉटनेट बाइनरी पर' install_name_tool -change' का उपयोग करें जो '/ usr/स्थानीय/lib' पथ को '/ opt/local/lib' में बदलने के लिए। – neverpanic

+0

हम्म, कम से कम 'sudo install_name_tool -change libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib/usr/local/share/dotnet/dotnet' (और libssl के लिए ditto) didn ' मेरे लिए चाल नहीं है: डॉटनेट अभी भी 'System.Security.Cryptography.Native' के लिए 'DllNotFoundException' फेंकता है जैसा कि पहले किया गया था। –

+0

libssl और libcrypto libs का संदर्भ देने वाली एक अलग लाइब्रेरी हो सकती है, या डॉटनेट वास्तव में dlopen का उपयोग कर रनटाइम पर लाइब्रेरी खोलने का प्रयास कर सकता है। डॉटनेट का मेरा ज्ञान दुर्भाग्य से यह जानना सीमित है कि उनमें से कौन सा (यदि कोई है) मामले में से एक है। – neverpanic

संबंधित मुद्दे