因為要寫一個相關的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
安裝完成,測試成功。這一大圈繞的。