Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Brew Doctor warnings I'有明显的来源吗;我看见了吗?_Xcode_Macos_Homebrew_Osx Yosemite_Gfortran - Fatal编程技术网

Xcode Brew Doctor warnings I'有明显的来源吗;我看见了吗?

Xcode Brew Doctor warnings I'有明显的来源吗;我看见了吗?,xcode,macos,homebrew,osx-yosemite,gfortran,Xcode,Macos,Homebrew,Osx Yosemite,Gfortran,我最近在Yosemite上安装了Hombrew,并安装了Xcode,希望更好地了解brew doctor对我的警告。我理解这些警告是,也不是问如何或是否回应;但我希望尽我所能了解可能的原因,以便在出现问题时做好准备(同时避免办公室其他人在类似系统上可能遇到的问题) 在安装了Xcode和非brew Fortran的10.10计算机上,以下项目是否来自明显的来源?这些东西中有没有什么值得一提的 Warning: Some directories in /usr/local/share/man are

我最近在Yosemite上安装了Hombrew,并安装了Xcode,希望更好地了解
brew doctor
对我的警告。我理解这些警告是,也不是问如何或是否回应;但我希望尽我所能了解可能的原因,以便在出现问题时做好准备(同时避免办公室其他人在类似系统上可能遇到的问题)

在安装了Xcode和非brew Fortran的10.10计算机上,以下项目是否来自明显的来源?这些东西中有没有什么值得一提的

Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `chown` them:

    /usr/local/share/man/de
    /usr/local/share/man/de/man1
    /usr/local/share/man/mann

Warning: Broken symlinks were found. Remove them with `brew prune`:
  /usr/local/lib/libasan.dylib
  /usr/local/lib/libatomic.dylib
  /usr/local/lib/libcilkrts.dylib
  /usr/local/lib/libgcc_s_ppc64.1.dylib
  /usr/local/lib/libgcc_s_x86_64.1.dylib
  /usr/local/lib/libgfortran.dylib
  /usr/local/lib/libgmp.dylib
  /usr/local/lib/libgmpxx.dylib
  /usr/local/lib/libgomp.dylib
  /usr/local/lib/libitm.dylib
  /usr/local/lib/libmpc.dylib
  /usr/local/lib/libmpfr.dylib
  /usr/local/lib/libquadmath.dylib
  /usr/local/lib/libssp.dylib
  /usr/local/lib/libstdc++.dylib
  /usr/local/lib/libubsan.dylib
  /usr/local/lib/ppc64/libgfortran.2.0.0.dylib
  /usr/local/lib/ppc64/libgfortran.2.dylib
  /usr/local/lib/ppc64/libgfortran.dylib
  /usr/local/lib/x86_64/libgfortran.2.0.0.dylib
  /usr/local/lib/x86_64/libgfortran.2.dylib
  /usr/local/lib/x86_64/libgfortran.dylib

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

  /opt/ImageMagick/bin/Magick++-config
  /opt/ImageMagick/bin/Magick-config
  /opt/ImageMagick/bin/MagickCore-config
  /opt/ImageMagick/bin/MagickWand-config
  /opt/ImageMagick/bin/Wand-config

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
    /usr/local/include/fakemysql.h
    /usr/local/include/fakepq.h
    /usr/local/include/fakesql.h
    /usr/local/include/gmp.h
    /usr/local/include/gmpxx.h
    /usr/local/include/graphviz/arith.h
    /usr/local/include/graphviz/cdt.h
    /usr/local/include/graphviz/cgraph.h
    /usr/local/include/graphviz/color.h
    /usr/local/include/graphviz/geom.h
    /usr/local/include/graphviz/graphviz_version.h
    /usr/local/include/graphviz/gvc.h
    /usr/local/include/graphviz/gvcext.h
    /usr/local/include/graphviz/gvcjob.h
    /usr/local/include/graphviz/gvcommon.h
    /usr/local/include/graphviz/gvconfig.h
    /usr/local/include/graphviz/gvplugin.h
    /usr/local/include/graphviz/gvplugin_device.h
    /usr/local/include/graphviz/gvplugin_layout.h
    /usr/local/include/graphviz/gvplugin_loadimage.h
    /usr/local/include/graphviz/gvplugin_render.h
    /usr/local/include/graphviz/gvplugin_textlayout.h
    /usr/local/include/graphviz/gvpr.h
    /usr/local/include/graphviz/pack.h
    /usr/local/include/graphviz/pathgeom.h
    /usr/local/include/graphviz/pathplan.h
    /usr/local/include/graphviz/textspan.h
    /usr/local/include/graphviz/types.h
    /usr/local/include/graphviz/usershape.h
    /usr/local/include/graphviz/xdot.h
    /usr/local/include/itcl.h
    /usr/local/include/itcl2TclOO.h
    /usr/local/include/itclDecls.h
    /usr/local/include/itclInt.h
    /usr/local/include/itclIntDecls.h
    /usr/local/include/itclMigrate2TclCore.h
    /usr/local/include/itclTclIntStubsFcn.h
    /usr/local/include/mpc.h
    /usr/local/include/mpf2mpfr.h
    /usr/local/include/mpfr.h
    /usr/local/include/mysqlStubs.h
    /usr/local/include/odbcStubs.h
    /usr/local/include/pqStubs.h
    /usr/local/include/tcl.h
    /usr/local/include/tclDecls.h
    /usr/local/include/tclOO.h
    /usr/local/include/tclOODecls.h
    /usr/local/include/tclPlatDecls.h
    /usr/local/include/tclThread.h
    /usr/local/include/tclTomMath.h
    /usr/local/include/tclTomMathDecls.h
    /usr/local/include/tdbc.h
    /usr/local/include/tdbcDecls.h
    /usr/local/include/tdbcInt.h
    /usr/local/include/tk.h
    /usr/local/include/tkDecls.h
    /usr/local/include/tkPlatDecls.h

Warning: Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .la files:
    /usr/local/lib/libasan.la
    /usr/local/lib/libatomic.la
    /usr/local/lib/libcilkrts.la
    /usr/local/lib/libgfortran.la
    /usr/local/lib/libgmp.la
    /usr/local/lib/libgmpxx.la
    /usr/local/lib/libgomp.la
    /usr/local/lib/libitm.la
    /usr/local/lib/libmpc.la
    /usr/local/lib/libmpfr.la
    /usr/local/lib/libquadmath.la
    /usr/local/lib/libssp.la
    /usr/local/lib/libssp_nonshared.la
    /usr/local/lib/libstdc++.la
    /usr/local/lib/libsupc++.la
    /usr/local/lib/libubsan.la

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
    /usr/local/lib/pkgconfig/libcdt.pc
    /usr/local/lib/pkgconfig/libcgraph.pc
    /usr/local/lib/pkgconfig/libgvc.pc
    /usr/local/lib/pkgconfig/libgvpr.pc
    /usr/local/lib/pkgconfig/libpathplan.pc
    /usr/local/lib/pkgconfig/libxdot.pc
    /usr/local/lib/pkgconfig/tcl.pc
    /usr/local/lib/pkgconfig/tk.pc

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
    /usr/local/lib/libatomic.a
    /usr/local/lib/libcilkrts.a
    /usr/local/lib/libgfortran.a
    /usr/local/lib/libgmp.a
    /usr/local/lib/libgmpxx.a
    /usr/local/lib/libgomp.a
    /usr/local/lib/libitm.a
    /usr/local/lib/libmpc.a
    /usr/local/lib/libmpfr.a
    /usr/local/lib/libquadmath.a
    /usr/local/lib/libssp.a
    /usr/local/lib/libssp_nonshared.a
    /usr/local/lib/libstdc++.a
    /usr/local/lib/libsupc++.a
    /usr/local/lib/libtclstub8.6.a
    /usr/local/lib/libtkstub8.6.a

这里有各种各样的警告,可能都有一个非常相似的原因:从源代码安装软件(通过使用
configure;make;make install
编译,或者有时解包一个非常特定的(例如,科学)包,如fortran)。这将主要是具有unix背景的软件,软件决定将自己安装在
/usr/local

我不知道你的背景,所以我将进行一些扩展(我可能会错过一些东西,或者可能有一些东西(有些)不正确):

在unix和linux中,一个软件通常分布在不同的子目录中,而不是在单个软件包中(更像Mac风格)。它可以由进入
/usr/local/bin/
的二进制文件、一个包含二进制文件使用的例程的库(放入
/usr/local/lib/
中)、一些位于
/usr/local/include/
中的函数声明头文件、一个放入
/usr/local/man/
或其他文件(例如配置)中的手册页组成可以进入
/usr/local/share/
的数据。实际上,任何组合都可能存在

这看起来有点分散,但它起作用了。这确实意味着不同的软件片段生活在同一个子目录中,正如您可以从不同的文件名列表中看到的那样

请注意,
/usr/local/
是迄今为止唯一的,因此它往往是安装额外软件的首选目录:系统(OS)可以不安装的软件。这也是为什么Homebrew喜欢在那里安装软件。其他软件管理员避免unix默认的
/usr/local/
,并安装在
/opt/local/
(Macports)或
/sw/
(Fink)中。但是,自制软件选择默认的“额外”软件安装部分这一事实可能意味着它与其他已安装软件发生冲突

您的系统软件位于普通的
/usr/
/system/
/Library/
中,不在
/usr/local/
中;如果完全删除
/usr/local/
,系统仍能工作

因此,考虑到这一点,警告:

警告:/usr/local/share/man中的某些目录不可写。 如果您的“sudo make install”软件未经管理,则可能会发生这种情况 自制的。如果brew尝试将区域设置信息添加到其中一个 目录,则在链接步骤中安装将失败。你 可能应该
chown

/usr/local/share/man/de
/usr/local/share/man/de/man1
/usr/local/share/man/mann
其他软件在此处安装了其手册页,可能是通过
sudo
命令安装的(您可能只是在引擎盖下出现了一个询问密码的对话框;
sudo
)。在这种情况下,这些特定目录由“root”拥有,而不是由普通的自制用户(您的登录名)拥有。这意味着,在未来的事件中,如果Homebrew遇到喜欢其手册页面的软件,它就不能不在这些目录中写入,因为它不属于Homebrew用户

您可以通过更改自己的权限来缓解此问题:

$ sudo chown -R <user>:<group> /usr/local/share/man/de
$ sudo chown -R <user>:<group> /usr/local/share/man/mann
符号(bolic)链接只是指向其他地方存在的文件的指针。如果文件被破坏,则原始文件不再存在,或者符号链接指向错误的位置。您可以通过执行以下操作来查看它所指向的内容:

ls -l   /usr/local/lib/libasan.dylib
.dylib
文件都是动态库:包含函数的库文件,供其他程序使用(但具体来说,不完全包含在该程序中;请参阅后面的静态库)。一个坏的库文件可能是一件坏事:想要使用这些文件的新软件可能会想“啊,我可以使用这个库”,然后在编译过程中,当发现文件不再存在时,事情就变糟了。因此,删减(删除)符号链接可能是明智的。(符号链接通常可以安全删除,即使它指向正确:它只是一个指针,原始文件保持不变。)

configure
是在命令行上从源代码构建软件链的一部分。它会在您的系统上查找现有的库,并要求使用这些
-config
脚本配置程序。Homebrew环顾四周,发现这样的脚本在通常的目录之外。因此,
configure
可能会找到同一配置脚本的多个版本,弄不清楚该使用哪个版本,然后使用错误的版本

在这种情况下,都是ImageMagick的东西。根据您使用它的方式,您可以选择删除整个
/opt/ImageMagick/
目录(然后可能会留下一个空的
/opt/
目录,在这种情况下,您也可以删除
/opt/
;它不是常规系统的一部分)

这些都是相关的,并且与前面提到的动态库相关。
.a
文件是静态库:它们(也)包含经常使用的函数,但是当从源代码编译软件时,这些文件包含在二进制文件中(因此,二进制文件比动态库的文件大)。
.h
文件是头文件,它告诉程序库文件包含什么;
.la
有一些关于
.a
库文件的额外信息

警告告诉您,在安装新软件时,自制软件可能会感到困惑:可能是我
ls -l   /usr/local/lib/libasan.dylib
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Warning: Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.