- 论坛徽章:
- 0
|
solaris下安装qmail-scanner
花了几天的时间在solaris下面安装qmail-scanner,感觉比Linux下麻烦很多,总结一下,算是给自己积累的
一点积累,也希望别人能够从中受益。
一、安装包的准备
1. maildrop
下载地址: http://prdownloads.sourceforge.net/courier/
我用的版本: maildrop-1.5.2.20030423.tar.gz(原来down的,比较老,呵呵,现在可以从上面的地址下载最新的)
2.qmail-scanner
下载地址: http://sourceforge.net/projects/qmail-scanner/
我用的版本: qmail-scanner-1.16.tgz (也是原来down的,最新的是1.22)
3. Time-HiRes
下载地址: http://search.cpan.org/~jhi/Time-HiRes-1.59/
我用的版本:Time-HiRes-1.59.tgz
4. Berkeley DB
下载地址: a) 源码: http://www.sleepycat.com/update/snapshot/db-4.2.52.NC.tar.gz
b) pkg: sunfreeware.hknet.com下载
For 8: db-3.1.17-sol8-sparc-local.gz
For 9: db-3.3.11-sol9-sparc-local.gz
我用的版本:上面的都下载了,用源码以失败告终(详细情况看后文),最后用的pkg
5. DB_File
下载地址: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/DB_File-1.808.tar.gz
我用的版本:DB_File-1.808.tar.gz
6. tnef
下载地址: http://optusnet.dl.sourceforge.net/sourceforge/tnef/tnef-1.2.3.1.tar.gz
我用的版本: tnef-1.2.3.1.tar.gz
二、开始安装
1. 确认打了 qmail-queue 的patch
2. maildrop
gzip xxx
tar xxx
cd xxx
./configure --prefix=xxxx
make
make install
3. Time-HiRes
gzip
tar
perl Makefile.PL
make
make test
make install
可能遇到的问题:
1) sh: cc: 没找到
#确认 cc在你的$PATH中 默认:/usr/ucb/cc
2) cc: unrecognized option `-KPIC'
#做下列操作
mv /usr/ucb/cc /usr/ucb/cc_orgi
ln -s /usr/local/bin/gcc /usr/ucb/cc
vi Makefile
36行 CCCDLFLAGS = -KPIC 改成 CCCDLFLAGS = -fPIC
264行 OPTIMIZE = -xO3 -xdepend 改成 OPTIMIZE = -O3
4. Berkeley DB
a) 源码:
cd db-4.1.25/build_unix
setenv CC gcc
../dist/configure
make install
cp /usr/local/BerkeleyDB.4.2/include/db* /usr/local/include/ #这步不做也可以
b) pkg:
pkgadd -d xxxx
5. DB_File
gzip
tar
perl Makefile.PL
make
make install
可能遇到的问题:
1), 2)同Time-HiRes,但是
mv /usr/ucb/cc /usr/ucb/cc_orgi
ln -s /usr/local/bin/gcc /usr/ucb/cc 没有必要做了!
3)安装Berkeley DB时如果没有做 cp ,有可能会找不到db.h
办法1 # vi config.in
修改
INCLUDE = /usr/local/BerkeleyDB/include
LIB = /usr/local/BerkeleyDB/lib 的BerkeleyDB实际路径
办法2 #在 perl Makefile.PL之前
执行下列操作:
DB_FILE_INCLUDE=/usr/local/BerkeleyDB.3.3/include (也许不是 BerkeleyDB.3.3 啊^_*)
DB_FILE_LIB=/usr/local/BerkeleyDB.3.3/lib
export DB_FILE_INCLUDE DB_FILE_LIB
6. TNEF
gzip
tar
cd
./congfiure
make
make install
7. qmail-scanner
gzip
tar
cd
SUIDPERL=/usr/bin/perl
export SUIDPERL #suidperl 在linux下有,在solaris下没找到,只好这样了
./configure --admin postmaster --domain root.root --install 1
可能出现的问题:
1) 没打qmail-queue的patch
# 去打
2)如果安装maildrop时指定 prefix了,有可能找不到reformime
#将 maildrop的 bin路径放到$PATH中
3)ERR:
Could not load Log module
Radius/LogSYSLOG.pm: Can't locate syslog.ph in @INC(did you run h2ph?) (@INC contains……
#做下列操作:
cd /usr/include
find /usr -name "h2ph"
/usr/perl5/5.00503/bin/h2ph * sys/*
cd /usr/include
/usr/perl5/bin/h2ph -r -l .
vi /usr/perl5/site_perl/5.005/sun4-solaris/_h2ph_pre.ph
#将第2行注释掉,即:
unless (defined & { sub () { "" } } 变成 #unless (defined & { sub () { "" } }
4)最郁闷的问题:
在 9 下报错 Bus error (Core dumped)
在 8 下报错 Bus error
google了N久,有老外说是 Perl与DB_File之间的问题,也有的说是Perl的BUG,还有的说是版本问题
(我都不熟悉,呵呵),当时把 Berkeley DB(用的源码)和DB_FILE 换了N次版本重装了,还是不行,
最后用Berkeley DB的pkg重装的,搞定!
三、补充说明
1.上面的 gzip, tar, cd等命令 包括configure 按实际情况添加参数
2.上面的下载地址出现死链和错链,概不负责,自己google ^_^
3.遇到上边提到以外的问题,自己google, 欢迎补充
4.感谢google |
|