web-dev-qa-db-ja.com

Mac OSXでの_libiconvまたは_iconv未定義シンボル

Mac OSXでソースからいくつかのパッケージをコンパイルすると、次のiconvエラーが発生します。

Undefined symbols for architecture x86_64:
  "_iconv", referenced from:
  "_iconv_close", referenced from:
  "_iconv_open", referenced from:

または私が得る:

Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
"_libiconv_open", referenced from:
"_libiconv_close", referenced from:

なぜこれが発生し、どのようにしてこの依存関係を回避できるか、またはより一般的には何が起こっているのか、そしてそれを修正する方法を理解できますか?

7
John Q

インストールしようとして同じ問題が発生しましたcargo-tree

cargo install cargo-tree
<...>
= note: Undefined symbols for architecture x86_64:
        "_iconv", referenced from:
            _git_path_iconv in liblibgit2_sys-966b1b327b8681d4.rlib(path.o)
           (maybe you meant: _git_path_iconv_clear, _git_path_iconv_init_precompose , _git_path_iconv )
        "_iconv_open", referenced from:
            _git_path_direach in liblibgit2_sys-966b1b327b8681d4.rlib(path.o)
<...>

私の解決策はMacPortsからlibiconvを無効にすることでした:

Sudo port deactivate libiconv

その後、インストールは成功しました。

一部のユーザーMacportsアプリケーションが機能しない場合は、libiconvを再度アクティブにする必要がある場合があります。

Sudo port activate libiconv
1