python - MacOS 10.15 Beta(19A582a) पर "/usr/lib/libcrypto.dylib" के साथ पाइथन दुर्घटनाग्रस्त




oh-my-zsh macos-catalina (4)

मुझे @bixel, @Juro Oravec & @honkaboy उत्तरों का एक संयोजन पसंद है:

brew install openssl
cd /usr/local/lib
sudo ln -s /usr/local/opt/openssl/lib/libssl.dylib libssl.dylib
sudo ln -s /usr/local/opt/openssl/lib/libcrypto.dylib libcrypto.dylib

इस तरह, कम से कम सिद्धांत में, जब अद्यतन खुलता है तो dylibs हमेशा नवीनतम संस्करणों को इंगित करेगा। /usr/local/opt/openssl है वास्तव में /usr/local/Cellar/openssl/Cellar/openssl/1.0.2t (शराब बनानेवाला द्वारा स्थापित खुलने का संस्करण) के लिए एक कड़ी है।

समस्या होने का कारण वास्तव में शराब बनाना है:

ओप्स्ल केग-ही है, जिसका अर्थ है कि इसे / usr / लोकल में सीलिंक नहीं किया गया था, क्योंकि Apple ने अपने खुद के टीएलएस और क्रिप्टो लाइब्रेरी के पक्ष में ओपनएसएसएल का उपयोग रद्द कर दिया है।

चल brew link openssl कोशिश कर रहा है:

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

कंपाइलर के लिए ओपनसेल खोजने के लिए आपको सेट करने की आवश्यकता हो सकती है: LDFLAGS = "निर्यात करें - L / usr / local / opt / opsl / lib" निर्यात CPPFLAGS = "- I / usr / local / opt / opensl / शामिल करें"

पीएसजी-कॉन्फिगरेशन के लिए ओपनसेल खोजने के लिए आपको सेट करने की आवश्यकता हो सकती है: PKG_CONFIG_PATH = "/ usr / local / opt / opensl / lib / pkgconfig" निर्यात करें

तो, मूल रूप से आपको उन्हें मैन्युअल रूप से लिंक करने की आवश्यकता है।

मैंने अपने मैकगो प्रोजेक्ट को नए macOS कैटालिना के साथ चलाया और ठीक चल रहा था।
मैंने oh_my_zsh स्थापित किया, फिर मैंने उसी प्रोजेक्ट को चलाने की कोशिश की, जो निम्न त्रुटियों के साथ दुर्घटनाग्रस्त हो रहा है। मैंने oh_my_zsh की स्थापना रद्द की और फिर से कोशिश की लेकिन यह काम नहीं किया।

Path:                  /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               3.7.4 (3.7.4)
Code Type:             X86-64 (Native)
Parent Process:        Python [7526]
Responsible:           Terminal [7510]
User ID:               501

Date/Time:             2019-10-07 20:59:20.675 +0530
OS Version:            Mac OS X 10.15 (19A582a)
Report Version:        12
Anonymous UUID:        CB7F20F6-96C0-4F63-9EC5-AFF3E0989687


Time Awake Since Boot: 3000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
/usr/lib/libcrypto.dylib
abort() called
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.

मैं बस एक ही समस्या भर में आया हूं और चीजों को मैन्युअल रूप से लिंक करने के लिए थोड़ा असहज महसूस किया।

मैं बस समस्या को हल करने में सक्षम था

  1. Homebrew के माध्यम से खुलने का समय स्थापित करना:
    brew install openssl
  2. DYLD_LIBRARY_PATH के माध्यम से Opensl से गतिशील पुस्तकालयों की ओर इशारा करते हुए:
    export DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib:$DYLD_LIBRARY_PATH

मैंने अभी उस लाइन को अपने .zshrc में जोड़ा है।


इस Apple देव धागे से r.xuan ने त्रुटि Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI. लिए समाधान के चरणों की पहचान की Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI. Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI. libssl.dylib और libcrypto.dylib लिंक को /usr/local/lib में बदलकर, libssl.dylib के libssl.dylib के libssl.dylib से libcrypto.dylib लिंक के साथ।

कदम हैं:

नए सिरे से काम करवाएं

1) brew update && brew upgrade && brew install openssl

2) cd /usr/local/Cellar/openssl/1.0.2t/lib

3) sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/

पुराने का बैकअप लें

4) cd /usr/local/lib

5) mv libssl.dylib libssl_bak.dylib

6) mv libcrypto.dylib libcrypto_bak.dylib

नए लिंक बनाएं

7) sudo ln -s libssl.1.0.0.dylib libssl.dylib

8) sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib


कैविएट: मैं एक सुरक्षा विशेषज्ञ नहीं हूं, और यह समाधान क्रिप्टो पुस्तकालयों के साथ खिलवाड़ करता है!

मुझे नहीं लगता कि आपका मुद्दा zsh या oh-my-zsh से उपजा है। मेरा सबसे अच्छा अनुमान है: MacOS 10.15 के साथ स्थापित कुछ क्रिप्टो लाइब्रेरी होमब्रे के python3 इंस्टॉलेशन के साथ असंगत हैं।

यहाँ क्या मेरे लिए मुद्दा तय हो गया है

# Install openssl via homebrew.
# Note: According to homebrew, "openssl is keg-only, which means it was
# not symlinked into /usr/local, because Apple has deprecated use of
# OpenSSL in favor of its own TLS and crypto libraries."
brew install openssl
# Symlink those versions into /usr/local/lib, which gets Python to dynamically
# link against those instead of the version in /usr/lib/.
# Got the idea from https://forums.developer.apple.com/thread/119429
cd /usr/local/lib
sudo ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libssl.1.0.0.dylib libssl.dylib
sudo ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libcrypto.1.0.0.dylib libcrypto.dylib

संदर्भ के लिए मेरी स्थिति:

  • हाल ही में MacOS 10.15 में अपग्रेड किया गया
  • मैं होमब्रे के माध्यम से स्थापित पायथन / पाइप का उपयोग करता हूं: brew install python
  • pip3 साथ विफल हो रहा था

सिस्टम त्रुटि रिपोर्ट का शीर्षक:

Process:               Python [52429]
Path:                  /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               3.7.4 (3.7.4)
Code Type:             X86-64 (Native)
Parent Process:        zsh [43309]
Responsible:           iTerm2 [2316]
User ID:               501

Date/Time:             2019-10-09 09:52:18.148 -0700
OS Version:            Mac OS X 10.15 (19A583)
Report Version:        12
Bridge OS Version:     4.0 (17P572)
Anonymous UUID:        

Sleep/Wake UUID:       

Time Awake Since Boot: 9900 seconds
Time Since Wake:       7300 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
/usr/lib/libcrypto.dylib
abort() called
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.




macos-catalina