権限のないユーザーdyldに対してOSXカールエラーが発生しました:ライブラリがロードされません

権限のないユーザーdyldに対してOSXカールエラーが発生しました:ライブラリがロードされません

私のMAC OSはYosemite 10.10で、以前のバージョンのカールがあります。 XcodeとXcodeコマンドラインツールをインストールしました。

I run cURL with the "sudo" command as  “sudo curl”:
    sudo curl
    Password:
    curl: try 'curl --help' or 'curl --manual' for more information

However, when I run curl under the common user in the the terminal, it failed as follows:

  dyld: Library not loaded: /usr/lib/libcurl.4.dylib
  Referenced from: /usr/bin/curl
  Reason: Incompatible library version: curl requires version 7.0.0 or later, but libcurl.4.dylib provides version 5.0.0
  Trace/BPT trap: 5


  I also downloaded the curl version of 7.43, and installed in /usr/local/bin.

  —  "which curl”  shows “/usr/local/bin/curl” 
  —  otool shows:
     otool -L /usr/local/bin/curl
     /usr/local/bin/curl:
     /usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
     /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
     /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
     /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
     /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

   otool -L /usr/local/lib/libcurl.4.dylib 
    /usr/local/lib/libcurl.4.dylib:
    /usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
    /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
    /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
     /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
     /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

しかし、カールはまだ「sudo」で動作しますが、一般ユーザーには失敗します。

  dyld: Library not loaded: /usr/local/lib/libcurl.4.dylib
  Referenced from: /usr/local/bin/curl
  Reason: Incompatible library version: curl requires version 8.0.0 or later, but libcurl.4.dylib provides version 5.0.0
  Trace/BPT trap: 5

一方、以前のソリューション(homebrewを使用してカールをインストールしようとすると、libcurl.4.dylibの「互換性のないライブラリバージョン」が表示されます。)私の場合は合いません。

-もっと- -

実際、libcurlを呼び出すコマンドは同じ情報で実行できないようです。たとえば、次のようになります。

--Macポート:

  [user @MBK ~]$port

  dlopen(/opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib, 6): Library not   loaded: /usr/lib/libcurl.4.dylib
   Referenced from: /opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib
   Reason: Incompatible library version: Pextlib.dylib requires version 7.0.0 or later, but libcurl.4.dylib provides version 5.0.0
    while executing "load /opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib"
    ("package ifneeded Pextlib 1.0" script)
    invoked from within "package require Pextlib 1.0"
    (file "/opt/local/bin/port" line 47)

--ネットワーク CDF:

 [user@MBK ~]$ncdump 

  dyld: Library not loaded: /opt/local/lib/libcurl.4.dylib
   Referenced from: /opt/local/bin/ncdump
   Reason: Incompatible library version: ncdump requires version 8.0.0 or later, but libcurl.4.dylib provides version 5.0.0
  Trace/BPT trap: 5

同様に、「sudo」コマンドも機能します。

答え1

同様の問題が発生し、実行中でした。

curl http://some.site

ジュン

dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
Referenced from: /Users/samh/anaconda3/lib/libssh2.1.dylib
Reason: image not found

しかし、走ることはconda install libssh2この問題を解決しました。カールが私のコンピュータで何年も働いてきたので、これは私には理解できません。しかし、少なくとも今は動作します。

答え2

curl理想的には:を介して再インストールする必要があり、互換性のbrew reinstall curlないライブラリが再接続されます(.dylib文書)。

それでも役に立たない場合は、DYLD_LIBRARY_PATH変数DYLD_FALLBACK_LIBRARY_PATHの値をもう一度確認してください。誤って設定された値が原因でこの問題が発生する可能性があります(例:あなたの値を確認してください~/.bashrc)。設定を解除するのが理想的です。それ以外の場合は設定しない場合は、次のように設定してみてください。

export DYLD_FALLBACK_LIBRARY_PATH="/usr/X11/lib:/usr/lib"

エマルジョン:ディリップとOS X

答え3

2つの問題がある場合、または両方のタイプsudo sh -c 'type curl';type curlのコマンドが同じファイルを表示している場合は、どのタイプのコマンドであるかを把握するのが困難な問題がありますが、おそらく2つのより単純な問題がある可能性があります。カールが 2 回インストールされ、動的リンカーが正しく構成されていません。

答え4

最近、Python 3.6から3.7に移行しました。私はカールがその前にも効果があったと確信しています。問題が解決されたという事実は、conda install libssh2Pythonのアップグレードがカールを破ったと思うようにします。この説明かもしれません。サムH不在、つまり「…私には理解できません…」。

関連情報