9

私はこのコマンドでMacからポートをアンインストールしています:

sudo port -fp uninstall installed

次に、wgetを使用してファイルをダウンロードすると、次のように表示されます。

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/bin/wget
  Reason: Incompatible library version: wget requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap: 5

実行する方法?

※MacOSX 10.7.5

添加

私が走るとき

otool -L $(which wget)

それは私に与えた

/opt/local/bin/wget:
    /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
    /opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.19.0)
    /opt/local/lib/libgnutls.26.dylib (compatibility version 49.0.0, current version 49.3.0)
    /opt/local/lib/libtasn1.3.dylib (compatibility version 5.0.0, current version 5.13.0)
    /opt/local/lib/libgcrypt.11.dylib (compatibility version 19.0.0, current version 19.0.0)
    /opt/local/lib/libgpg-error.0.dylib (compatibility version 9.0.0, current version 9.0.0)
    /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.7)
    /opt/local/lib/libidn.11.dylib (compatibility version 18.0.0, current version 18.8.0)
4

1 に答える 1

10

どうやら、MacPortsからインストールしwgetたときにローカルにコピーを作成してlibiconvインストールしたので、削除したライブラリに動的にリンクしているようです。MacPortsの痕跡をすべて削除したい場合は、そのコピーを再構築する必要がありますwget

それ以外の場合は、MacPortsを使用してのコピーをインストールできます。これにより、のwgetようなすべての依存関係もインストールされますlibiconv

sudo port selfupdate
sudo port clean wget
sudo port install wget

または、の代わりに、 AppleがOSXで提供しているものwgetを使用することもできます。curl

更新:更新に基づいて、MacPortsがインストールされたを使用しているようですwget。どういうわけか、依存関係を同期させることができませんでした。(なぜ使用するport -fp uninstall installedのですか?)今すぐ試すことをお勧めします:

sudo port selfupdate     # if not run recently   
sudo port clean libiconv
sudo port upgrade --force libiconv

libiconv現在のバージョンへのアップグレードを強制します。

更新[2014-12]:これを再検討すると、問題は、にwgetポートの依存関係を登録していない不完全なMacPortsポートファイルが原因である可能性もありますlibiconv。私はそれについての問題を開きました。[...]そしてMacPortsプロジェクトは、これはOSXの新しいリリースにアップグレードするときにMacPortsの移行手順に従わなかった結果である可能性があると答えています。互換性のためのMacPorts問題ホットリストエントリがlibiconvここにあります。

いずれにせよ、うまくいくかもしれないのはwget、ソースから再インストールすることです。

sudo port selfupdate
sudo port -f uninstall wget
sudo port -s install wget

それでも問題が解決しない場合は、移行手順を読み、アップグレード後にすべてのポートを再インストールしたことを確認してください。

于 2012-11-09T05:35:14.067 に答える