我不知道 Perl,所以请耐心等待!这有点来自脚本,它会产生错误:
if (-x '/usr/bin/gcc') {
$gcc = Fink::Services::enforce_gcc(<<GCC_MSG);
Under CURRENT_SYSTEM, Fink must be bootstrapped or updated with gcc
EXPECTED_GCC, however, you currently have gcc INSTALLED_GCC selected.
This typically is due to alteration of symlinks which were
installed by Xcode. To correct this problem, you will need
to restore the compiler symlinks to the configuration that
Apple provides.
GCC_MSG
$gcc = "-gcc" . $gcc;
}
这个脚本在 Mac 上安装 fink 包管理器。(我不是 Mac 用户,试图帮助我的朋友安装一个最初是 GNU 程序并且需要从源代码编译的程序)。
安装脚本抱怨 GCC 的版本不是它所期望的。我怀疑这是失败的地方,但不太明白它在做什么。
我尝试为已安装的 GCC 创建一个符号链接,它是 4.2.1 版,而 fink 想要 4.2 版。
如果我将 GCC 的符号链接放入 /usr/bin,则会显示此消息。否则它会正确识别 GCC 的版本并拒绝安装。
我认为该-x
开关类似于 Bash,意味着它正在检查文件是否为可执行文件,但我不确定它在 Perl 中到底做了什么,它会将指向可执行文件的链接视为可执行文件吗?
谢谢!