Mac OSx Leopard下从源码编译安装Fink 0.81(原创)

时间:2008-03-20 17:03:51  类别:Leopard  作者:jython@tom.com

由于安装了新的mac osx系统leopard,所以得再次安装Fink, 下载下来最新的Fink版本0.81的dmg安装文件,很遗憾,不支持leopard, 尝试从源码编译安装Fink 0.81, 因为官网上有消息,可以在leopard上编译安装。下载好源码,进入解压后的目录里,执行:
./bootstrap.sh /sw
出错,报
Sorry, your /usr/bin/perl is version 5.008008, but Fink can only use
  5.6.0 (5.006), 5.6.1 (5.006001)
  5.8.0 (5.008), 5.8.1 (5.008001), 5.8.2 (5.008002), 5.8.6 (5.008006)
尝试执行:
perl bootstrap.pl
出错依旧,看来本机leopard自带的perl版本有点新,没关系,修改bootstrap.pl文件,在此处:
my %ok_perl_versions = (
    "5.006"    => "5.6.0",
    "5.006001" => "5.6.1",
    "5.008"    => "5.8.0",
    "5.008001" => "5.8.1",
    "5.008002" => "5.8.2",
    "5.008006" => "5.8.6"
);
加一行,改为如下:
my %ok_perl_versions = (
    "5.006"    => "5.6.0",
    "5.006001" => "5.6.1",
    "5.008"    => "5.8.0",
    "5.008001" => "5.8.1",
    "5.008002" => "5.8.2",
    "5.008006" => "5.8.6",
     "5.008008" => "5.8.8"
);
现在应该 可以通过Perl版本的检查了吧,继续重复上面的命令,跳过了Perl版本检查,一路顺利,问了N多问题,可以一路默认,直到最后,又跳出一个出错提示,还说Perl版本不在支持之列,再查找源码检查Perl版本的地方,通过搜索,找到文件:Bootstrap.pm源码文件此处
    } elsif ("$]" == "5.008") {
    } elsif ("$]" == "5.008001") {
    } elsif ("$]" == "5.008002") {
    } elsif ("$]" == "5.008006") {
    } else {
加一行,改为:
    } elsif ("$]" == "5.008") {
    } elsif ("$]" == "5.008001") {
    } elsif ("$]" == "5.008002") {
    } elsif ("$]" == "5.008006") {
    } elsif ("$]" == "5.008008") {
    } else {
保存一下,重复再执行命令:
./bootstrap.sh /sw
一切顺利,直至安装完成。喝喝...
别忘记了安装完成后,执行fink的自升级检查:
fink selfupdate-rsync 或 fink selfupdate-cvs


特别推荐

广而告之