clamav-0.94 ... Panther & Tiger & Leopard

なんだろ、ねぇ。
いつも通りのアップデート、と、タカをくくっていた。

手順は、まず、自宅マシンでアップデート、研究室サーバでアップデート、そして、職場公式サーバ等でのアップデート、と、進めるつもりだった。
自宅サーバMacmini Leopard Serverでは、うまくできた、の、が、そもそも、誤解の始まり、だ、な。
自宅Pantherマシン、そして、自宅Tigerマシンでは、makeすらできない。
いや、よくよく見ると、configureの段階で、

========== ========== ========== ========== ==========
checking for a supported version of gcc... ok (4.0.1)
checking for gcc bug PR27603... ok, bug not present
checking for gcc bug PR26763-2... ok, bug not present
checking for valid code generation of CLI_ISCONTAINED... ok, bug not present
checking for gcc bug PR28045... configure: error: your compiler has gcc PR28045 bug, use a different compiler, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28045
========== ========== ========== ========== ==========

と、出てきやがった。
このあたりには、
gcc_select mp-gcc43
や、
gcc_select gcc431
で、対応可能だろう。ついでに、
port -d install apple-gcc42
なんて、後から考えると、無駄なこともしてみたりして。

さらによく見ると、
========== ========== ========== ========== ==========
checking for CHECK... no
configure: WARNING: unable to find 'check' using pkg-config:
No package 'check' found
Alternatively, you may set the environment variables CHECK_CFLAGS
and CHECK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
========== ========== ========== ========== ==========

なんだ、これ。
そうそう、Leopard Serverでも、
make check
するとエラーが出てきたのだな。
これに対しては、
port install check

と、モジュールを追加して解決。

従って、
1.port install check
2.gcc_select gcc431
3../configure --prefix=/usr/local/clamXav
4.make ; make check
5.make install

で、Leopard Serverは、解決!

問題は、PantherとTigerだ。
makeでエラーが出てしまう。

========== ========== ========== ========== ==========
/usr/bin/ld: warning can't open dynamic library: /usr/local/clamXav/lib/libclamunrar.5.dylib referenced from: ../libclamunrar_iface/.libs/libclamunrar_iface.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: Undefined symbols:
_ppm_constructor referenced from libclamunrar expected to be defined in /usr/local/clamXav/lib/libclamunrar.5.dylib
_ppm_destructor referenced from libclamunrar expected to be defined in /usr/local/clamXav/lib/libclamunrar.5.dylib
_rar_init_filters referenced from libclamunrar expected to be defined in /usr/local/clamXav/lib/libclamunrar.5.dylib
_rar_unpack referenced from libclamunrar expected to be defined in /usr/local/clamXav/lib/libclamunrar.5.dylib
_rarvm_free referenced from libclamunrar expected to be defined in /usr/local/clamXav/lib/libclamunrar.5.dylib
collect2: ld returned 1 exit status
gmake[4]: *** [libclamav.la] エラー 1
gmake[4]: ディレクトリ `/private/tmp/clamav-0.94/libclamav' から出ます
gmake[3]: *** [all-recursive] エラー 1
gmake[3]: ディレクトリ `/private/tmp/clamav-0.94/libclamav' から出ます
gmake[2]: *** [all] エラー 2
gmake[2]: ディレクトリ `/private/tmp/clamav-0.94/libclamav' から出ます
gmake[1]: *** [all-recursive] エラー 1
gmake[1]: ディレクトリ `/private/tmp/clamav-0.94' から出ます
gmake: *** [all] エラー 2
========== ========== ========== ========== ==========

どう考えても、変だ。
ライブラリーの場所を間違えている。
あたしは指定していないのだけど...いや、正確には、
./configure --prefix=/usr/local/clamXav
と、指定してはいるね。

困った。
9/20からの週末、9/23の休日を潰して、試行錯誤。
始めからググっていれば良かったのだろうが、幸い、次の記事を見つける。
そう言えば、アンインストールしてからインストールしろ、と、READMEに書いてあったような気がする、が、これまでは、単純なオーバーライト・インストールでうまくできていたので...ライブラリーがなくて困った時があったが...

http://www.markallan.co.uk/BB/viewtopic.php?p=7070&highlight=#7070


従って、だ。

1.checkのインストールが先、これは変わらず。
port install check

2.gccはバグ無しを選択、これも変わらず。
gcc_select mp-gcc43
gcc_select gcc431

ちなみに、gcc (GCC) 4.1.2でも良かった。

3.古いファイルどもを消す!*
のは、怖いので、
cd /usr/local
mv clamXav clamXav_0.93.3
mkdir clamXav

4.configure、make
(1)Intel Mac
./configure --prefix=/usr/local/clamXav --build=i686-apple-darwin`uname -r`
gmake
gmake check
gmake install
...今回は、gmakeを使った。

(2)Power Mac
./configure CFLAGS='-g' --prefix=/usr/local/clamXav
↓どうやら、CFLAGSの指定は不要みたいだな。
./configure --prefix=/usr/local/clamXav
gmake
gmake check
gmake install


ただしっ
gmake check
の実行時、
========== ========== ========== ========== ==========
gmake[2]: `check_freshclam.sh' に対して行うべき事はありません.
gmake[2]: `check_sigtool.sh' に対して行うべき事はありません.
gmake[2]: `check_clamscan.sh' に対して行うべき事はありません.
gmake[2]: `valgrind_tests.sh' に対して行うべき事はありません.
gmake[2]: ディレクトリ `/private/tmp/clamav-0.94/unit_tests' から出ます
gmake  check-TESTS
gmake[2]: ディレクトリ `/private/tmp/clamav-0.94/unit_tests' に入ります
Running suite(s): cl_api
 cli
 jsnorm
 str
 regex
 disasm
 unique
 matchers
100%: Checks: 205, Failures: 0, Errors: 0
PASS: check_clamav
PASS: check_clamd.sh
PASS: check_freshclam.sh
PASS: check_sigtool.sh
PASS: check_clamscan.sh
*** valgrind not found, skipping test
SKIP: valgrind_tests.sh
======================
All 5 tests passed
(1 tests were not run)
======================
gmake[2]: ディレクトリ `/private/tmp/clamav-0.94/unit_tests' から出ます
gmake[1]: ディレクトリ `/private/tmp/clamav-0.94/unit_tests' から出ます
gmake[1]: ディレクトリ `/private/tmp/clamav-0.94' に入ります
gmake[1]: `check-am' に対して行うべき事はありません.
gmake[1]: ディレクトリ `/private/tmp/clamav-0.94' から出ます
========== ========== ========== ========== ==========

と、いう具合に、valgrindに関するメッセージが出てきたけど、今回は、無視。

とりあえず、動いているみたい、だから、さ。

そうそう、configファイル、
/etc/clamd.conf
/etc/freshclam.conf

あたしは、これらに対して、

/usr/local/clamXav/etc/clamd.conf
/usr/local/clamXav/etc/freshclam.conf

をシンボリックリンクして使っている...
つまり、新規導入したようなものだから、改めて、これらを設定することになってしまった。
いくつか、オプションが増えていたので、むしろ、積極的に、再設定すべき、なのだろう、な。


*よくよく考えてみると、この時と同じ、なのだから、

cd /usr/local/clamXav
mv lib lib0.93.3
mv etc etc0.93.3

だけで、いいように思う。
散々試して、職場公式サーバで確認した...
なんだか、ねぇ。

トラックバック(0)

このブログ記事を参照しているブログ一覧: clamav-0.94 ... Panther & Tiger & Leopard

このブログ記事に対するトラックバックURL: http://www.kumecchi.net/mt/mt-tb.cgi/2026

コメント(2)

macportは私も使っています。

clamav は入れたことがないのですが,
sudo port -d selfupdate
sudo port -d sync
を実行してから,再度インストールされてみてはいかがでしょうか(すでに試されているかも知れませんが…)。

コメント、ありがとうございます。
portに関しては、自動実行してしまおうかと思っています。できれば、cpanも自動実行したいのですが、時々、インターラクティブに回答する必要がありますから、毎月、定期的に手動実行ですね。
ちなみに、portに関しては、次のようなCシェルスクリプトを作って、cronで実行、しようかと、研究中…次のスクリプトと同時に手動実行して様子見…です。
root# cat portupdate
#!/bin/csh -f
#
port -d selfupdate
port -d sync
port -du upgrade installed

cpanに関しては、次のスクリプトを定期的に手動実行してます。
root# cat cpanupdate
#!/bin/csh -f
#
/usr/local/bin/perl -MCPAN -e 'upgrade'

さて、確かに、port searchで調べると、clamavの最新版がありました。
問題は、コンパイラで、例えば、Tigerならgcc 4.0.1が使われてしまうのですよ。
/usr/bin/に入っているコンパイラですな。
実際にport install clamavを実行してはいませんが、恐らく、configureの段階でコンパイラのbugチェックがはじいてしまうと思います。
gcc_selectも使っていますが、portに反映させる方法がわからなくて…
で、まぁ、9台のサーバ全部で成功させることを考えると、手動での導入手順が確実、かなぁ〜、と、思いまして、ね。
それと、MacPortsをイリーガルに使っていて…
既に記事に書いたように思いますが、pathを増やしたくなくて、
ln -s usr opt
なんてことをしていて…
svnを利用することもできると思います。
こちらもpathが増えてしまうのが気に入らない。
できるだけシンプルに進めたいのです、な。

コメントする

QRコード

QRコード対応携帯からアクセスできます
QRコード対応携帯からアクセスできます  
Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type 7.0.1

Yahoo!ブログの記事

飼い主になっていただきます : 2012年01月14日

病院の玄関のフラワーポッド : 2012年01月10日

病院の水槽の生き物 : 2012年01月09日

2円の買い物 : 2012年01月07日

新年のご挨拶 : 2012年01月03日

阿蘇にて、2011/12/17-18 : 2011年12月20日

時速1000Km/hじゃ、の、別バージョン : 2011年12月19日

時速1000Km/hじゃ : 2011年12月18日

ぶどう、では、ない : 2011年12月15日

怖い顔 : 2011年12月13日

アーカイブ