因为要写一个相关的perl脚本,需要crc32函数,默认的perl又不带,没办法只好安装一个:
- 下载:
wget -c http://search.cpan.org/CPAN/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz
- 安装:
tar zxvfp String-CRC32-1.4.tar.gz
cd String-CRC32-1.4
perl Makefile.PL
make
make test #这里没什么提示错误就恭喜了:)
make install
- 使用(来自官方):
use String::CRC32;
$crc = crc32(“some string”);
$crc = crc32(“some string”, initvalue);
$somestring = “some string”;
$crc = crc32($somestring);
print $crc.”\n”;
#open(SOMEFILE, “location/of/some.file”);
#$crc = crc32(*SOMEFILE);
#close(SOMEFILE);
- 运行:
perl t.pl
4182587481
系统要部署到AIX平台
问题:
make编译报错,提示:cc_r not found!编译器找不到?那就手动指定一下,cc_r应该是在/usr/vac/bin目录下。
#vi MakeFile 找到CC = cc_r 改成 /usr/vac/bin/cc_r,然后执行make
提示: The license for the Evaluation version of IBM XL C/C++ for AIX, V10.1 compiler product has expired. 我去!过期了。。。这家伙还没免费的。。
另找办法,cc_r不让用就用gcc吧。
AIX Toolbox download:http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html 中免费下载。
傻瓜式安装 #rpm –ivh gcc-4.2.0-3.aix5.3.ppc.rpm
把cc_r替换为gcc,执行make编译。报错一大堆,各种的编译选项类型不符。
解决方案
网上搜的:
现在AIX自带的perl实例因为不是用gcc编译的,所以不可以在其基础上用gcc编译安装相关模块;
需要从网上下载perl的源代码,使用gcc编译安装一份新的perl实例;
现在AIX自带的perl实例因为不是用gcc编译的,所以不可以在其基础上用gcc编译安装相关模块;
需要从网上下载perl的源代码,使用gcc编译安装一份新的perl实例;
那就去perl下最新的源码包吧,http://www.perl.com/
指定编译器和目录 #sh Configure -de -Dcc=gcc –Dprefix=/opt/perl-5.10
#make
#make install
设置PATH环境变量:export PATH=/opt/perl-5.10/bin:$PATH (注意把新的perl实例的bin路径设置在前面,是因为系统中原有的perl实例还存在,可以做到优先使用新的perl实例)
#perl -version 确认一下最新的版本
然后再去编译String-CRC32吧
#perl MakeFile.pl
#make
#make install
安装完成,测试成功。这一大圈绕的。