作者 主題: make 時,發生 "make: don't know how to make <command-line>. Stop"  (閱讀 12471 次)

0 會員 與 1 訪客 正在閱讀本文。

moon204

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
各位大大:
原因是這樣,我的系統為FreeBSD7.2,要拿來做郵件伺服器,並加防垃圾信軟體。
主要套件為:
postfix -2.6.5_1
MailScanner-4.78.9。
perl - 5.8.9
當安裝並設定完 MailScanner 相關設定後重新啟動,
畫面並未有任何的錯誤,只有顯示我尚未啟動防毒軟體。(我有把防毒選項 NO)

但進入 maillog 觀看,卻發現
***********************************************************************************************************
Oct  9 15:47:21 mg MailScanner[19421]: Could not use Custom Function code /usr/local/lib/MailScanner/MailScanner/CustomFunctions/Ruleset-from-Function.pm, it could not be "require"d. Make sure the last line is "1;" and the module is correct with perl -wc (Error: Insecure dependency in require while running with -T switch at /usr/local/lib/MailScanner/MailScanner/Config.pm line 754.
***********************************************************************************************************
經查 google 發現是 perl5.8.9 與MailScanner不相容,簡單的說就是踩到地雷。
可用 perl 5.8.8 來搭配 MailSacnner。

現在問題來了,
我去抓 perl-5.8.8.tar.gz
依照步驟為:
# tar -zxvf perl5.8.8.tar.gz
# cd perl5.8.8
# sh Configure -de
# make 
# make install
# make clean

但到 make 時,就出現 "make: don't know how to make <command-line>. Stop" 錯誤訊息。
我該怎麼做才能正確執行 make 呢?


damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
為何不用ports裡面的perl , mailscanner ?

johnpupu

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
#cd /usr/ports/lang/perl5.10
#make install clean
收功搞定^^
用FreeBSD 請用ports


moon204

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
我的Freebsd 裡全部的套件均是用 port 裡的。
因為最方便~~~
但套件更新後,perl 就不是 5.8.8 版本。而是 5.8.9
也想過既然 perl 5.8.9 不行,就找 port 裡的 perl 5.10 版。
沒想到 mailscanner 啟動後, maillog 還是出現一樣的錯誤訊息,
------------------------------------------------------
Could not use Custom Function code /usr/local/lib/MailScanner/MailScanner/CustomFunctions/Ruleset-from-Function.pm, it could not be "require"d. Make sure the last line is "1;" and the module is correct with perl -wc (Error: Insecure dependency in require while running with -T switch at /usr/local/lib/MailScanner/MailScanner/Config.pm line 754.
------------------------------------------------------
關於這部分,我還能該如何做呢 ??

lmp

  • 懷疑的國中生
  • **
  • 文章數: 50
    • 檢視個人資料
downgrade to 5.8.8

chienwen

  • 懷疑的國中生
  • **
  • 文章數: 37
    • 檢視個人資料
    • 線上字典
perl 要升級,要這樣升級比較好:
portupgrade -fr perl

若是 5.8 升級到 5.10,因不屬於同一個 ports (分別是 lang/perl5.8 和 lang/perl5.10)
用 portupgrade 似乎升不上去。
我自己的做法是先 pkg_delete -a ,再重練。
5.10 若是需要 suidperl,改在 make config 設定,不用再 -m "ENABLE_SUIDPERL=yes"。
:D

johnpupu

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
perl 要升級,要這樣升級比較好:
portupgrade -fr perl

若是 5.8 升級到 5.10,因不屬於同一個 ports (分別是 lang/perl5.8 和 lang/perl5.10)
用 portupgrade 似乎升不上去。
我自己的做法是先 pkg_delete -a ,再重練。
5.10 若是需要 suidperl,改在 make config 設定,不用再 -m "ENABLE_SUIDPERL=yes"。

不用delete 啦
UPDATING 裡有寫到

20090328:
  AFFECTS: users of lang/perl*
  AUTHOR: skv@FreeBSD.org

  lang/perl5.10 is out. If you want to switch to it from, for example
  lang/perl5.8, that is:

  Portupgrade users:
    0) Fix pkgdb.db (for safety):
        pkgdb -Ff

    1) Reinstall perl with new 5.10:
        portupgrade -o lang/perl5.10 -f perl-5.8.\*

    2) Reinstall everything that depends on Perl:
        portupgrade -fr perl

  Portmaster users:
        portmaster -o lang/perl5.10 lang/perl5.8
        portmaster -r perl-

  Note: If the "perl-" glob matches  more than one port you will need to
        specify the name of the perl directory in /var/db/pkg explicitly.


這樣就好了..