0

我运行了以下代码

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++ ...................................... …………

$酿造医生

警告:/usr/local/include 不可写。如果您“sudo make install”不是由 Homebrew 管理的软件,就会发生这种情况。如果 brew 尝试将文件写入此目录,则安装将在链接步骤期间失败。

您可能应该 chown /usr/local/include

警告:/usr/local/lib/pkgconfig 不可写。如果您“sudo make install”不是由 Homebrew 管理的软件,就会发生这种情况。如果 brew 尝试将文件写入此目录,则安装将在链接步骤期间失败。

您可能应该 chown /usr/local/lib/pkgconfig

警告:/usr/local/share/locale 中的某些目录不可写。如果您“sudo make install”不是由 Homebrew 管理的软件,就会发生这种情况。如果 brew 尝试将语言环境信息添加到这些目录之一,则安装将在链接步骤期间失败。你可能应该 chown 他们:

/usr/local/share/locale /usr/local/share/locale/af /usr/local/share/locale/af/LC_MESSAGES ...........

警告:在系统前缀处检测到 gettext 文件 这些文件可能导致编译和链接失败,尤其是在使用不正确的架构编译时。考虑删除这些文件: /usr/local/lib/libgettextlib.dylib /usr/local/lib/libintl.dylib /usr/local/include/libintl.h

警告:在 /usr 以外的系统前缀处检测到的 libiconv 文件 Homebrew 不提供 libiconv 公式,并希望链接到 /usr 中的系统版本。其他前缀中的 libiconv 可能会导致编译或链接失败,尤其是在使用不正确的架构编译时。OS X 本身从不向 /usr/local 安装任何东西,因此它要么是由用户安装的,要么是由其他第三方软件安装的。

tl;dr:删除这些文件:/usr/local/lib/libiconv.dylib /usr/local/include/iconv.h

警告:您安装了 MacPorts 或 Fink:/opt/local/bin/port

这可能会引起麻烦。您不必卸载它们,但您可能想暂时将它们移开,例如

sudo mv /opt/local ~/macports

警告:在 /usr/local/lib 中发现了未编译的 dylib。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的 dylib:/usr/local/lib/libasprintf.0.dylib /usr/local/lib/libcharset.1.dylib /usr/local/lib/libcunit.1.dylib /usr/local/lib/libgettextlib-0.18。 3.dylib /usr/local/lib/libgettextpo.0.dylib /usr/local/lib/libgettextsrc-0.18.3.dylib /usr/local/lib/libiconv.2.dylib /usr/local/lib/libintl。 8.dylib /usr/local/lib/libjansson.4.dylib /usr/local/lib/libltdl.7.dylib /usr/local/lib/libsqlite3.0.dylib

警告:在 /usr/local/lib 中找到未编译的 .la 文件。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的 .la 文件:/usr/local/lib/libasprintf.la /usr/local/lib/libcharset.la /usr/local/lib/libcunit.la /usr/local/lib/libgettextlib.la /usr/local/ lib/libgettextpo.la /usr/local/lib/libgettextsrc.la /usr/local/lib/libiconv.la /usr/local/lib/libintl.la /usr/local/lib/libjansson.la /usr/local/ lib/libltdl.la /usr/local/lib/libsqlite3.la

警告:在 /usr/local/lib/pkgconfig 中找到未编译的 .pc 文件。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的 .pc 文件:/usr/local/lib/pkgconfig/cunit.pc /usr/local/lib/pkgconfig/jansson.pc /usr/local/lib/pkgconfig/libiconv.pc /usr/local/lib/pkgconfig/ sqlite3.pc

警告:在 /usr/local/lib 中找到未编译的静态库。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的静态库:/usr/local/lib/libasprintf.a /usr/local/lib/libcharset.a /usr/local/lib/libcunit.a /usr/local/lib/libgettextpo.a /usr/local/lib /libintl.a /usr/local/lib/libjansson.a /usr/local/lib/libltdl.a /usr/local/lib/libsqlite3.a

警告:您的酒窖中有未连接的小桶 未连接小桶可能会导致构建问题,并导致依赖这些小桶的啤酒在构建后无法正常运行。在这些上运行 brew 链接:

单位 .................................................. ........ ++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++

如果我给出“brew link libiconv”,则以下错误是警告:libiconv 仅限于桶,必须与 --force 链接注意,这样做可能会干扰构建软件。

你能告诉我如何解决 libiconv 丢失的错误。我手动安装和通过brew安装。但仍然得到相同的以下错误。

当我配置 gcc 编译代码时我仍然收到错误

...........
checking for libiconv_open in -liconv... no
checking for iconv_open in -lc... no
checking for iconv_open in -liconv... no
configure: error: Could not find libiconv. Please install libiconv and libiconv-devel

请帮我解决这个问题。我仍然打破这个错误长达 2 天。我在等你的回复

4

1 回答 1

3

哇!有很多东西要修复,那里!

上面写着“你可能应该 chown /usr/local/include”,这意味着你应该运行:

chown -R `whoami` /usr/local/include

(同样适用于所有其他类似的消息。)

不过,看起来 /usr/local 中有很多垃圾。我可能会将它移到其他地方(例如 /usr/local-broken),然后重新安装自制软件。你可能会逃避跑步

make uninstall

从您安装 libiconv 的任何位置。

一旦你解决了所有 brew doctor 警告,我会说类似

LDFLAGS=-L/usr/local/opt/libiconv/lib CPPFLAGS=-L/usr/local/opt/libiconv/include brew install whatever

可能对你有用!这样,您就可以使用自制软件为您构建的 libiconv 文件进行编译。

祝你好运!

于 2014-06-06T06:21:17.887 回答