免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1282 | 回复: 0
打印 上一主题 下一主题

[Mail] 在solaris下安装qmail-scanner [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-17 12:10 |只看该作者 |倒序浏览
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP