OS X 10.8 安装perl GD::Graph

来源:互联网 发布:迈科技 知乎 编辑:程序博客网 时间:2024/06/07 09:20

  想给自己的应用加个动态生成pie chart的功能,研究后发现GD::Graph这个库能满足需求,OS X 1.8系统perl库里面默认没有,决定自己安装来用。在家里折腾了一整晚上,前前后后遇到n多依赖方面的问题,外加有的库所在服务器被"墙"了,所以搞得很崩溃。第二天到单位继续弄了几小时终于安装成功,这里简单记录一下。


  GD::Graph依赖GD和GD::Text库,而GD库的安装又依赖C库gd,libpng, jpeg和freetype。 下载安装了OS X上的包管理工具Homebrew来安装这些C依赖。Homebrew安装freesype的时候,顺带安装了libpng和jpeg, 命令行如下:

brew install freetype

装完freetype后,再安装gd with freetype:

brew install gd --with-freetype
这个命令运行的时候会用curl去取一个https服务器上的包文件,但是这个server被‘墙’,所以我为curl工具配置了公司的代理服务器,通过proxy去绕过墙,获取包文件。具体做法是设置ALL_PROXY这个环境变量,curl会使用这个变量的值来设置代理:

export http_proxy=http://proxy:8080export ALL_PROXY=$http_proxy


至此,C库的依赖安装完毕。下面开始用cpan shell安装GD::Text和GD,由于‘墙’的关系,也需要为cpan shell工具设置代理。具体做法是进入cpan shell:

perl -MCPAN -e shell

然后用以下命令设置http proxy:

o conf http_proxy http://proxy:80o conf commit
cpan shell有三个参数可以配置proxy - http_proxy, ftp_proxy, no_proxy,我发现下载GD::Text时资源url协议头是ftp://所以同时也配置了ftp_proxy这个参数。

安装GD::Text后,手动下载了GD-2.50的src来编译安装,命令如下:

curl -O http://www.cpan.org/authors/id/L/LD/LDS/GD-2.50.tar.gztar xvf GD-2.50.tar.gzcd GD-2.50perl Makefile.plmake install

最后安装GD::Graph时又遇到了问题,cpan shell安装时总是提示 ExtUtils-MakeMaker的664行代码报错。网上搜索了一阵后总结是最新GD::Graph安装包(v 1.48)要求perl中的ExtUtil::MakeMaker模块的版本为 >= 6.6(具体多少记不清了),但是我OS X中的版本为6.57,所以应该先升级这个MakeMaker模块。进入cpan shell后命令如下:

install ExtUtils::MakeMaker

安装完成后的MakeMaker版本是6.78。然后再次安装GD::Graph:

install GD::Graph

我实际最后安装GD::Graph是下载的src, 手动make, make test, make install的。这时结果应该和用cpan shell是一样可行。




原创粉丝点击