2009年03月25日

clamav-0.95 on MacPorts

MacPortsclamav もバージョン 0.95 になりました (2009-03-24 23:25) が、libclamunrar* を動的に読み込むためには環境変数 LTDL_LIBRARY_PATHDYLD_LIBRARY_PATH/opt/local/lib に設定しなければなりません。
LibClamAV Warning: Cannot dlopen: file not found - unrar support unavailable
これはリンクしている ltdl ライブラリの標準検索パスに /opt/local/lib が含まれていないためです。

※この問題はバージョン 0.95.1 で解決していますので、ここにある情報は不要です。

そこで、環境変数を設定しなくても libclamunrar* を動的にリンクするように clamav を修正するパッチを作ってみました。clamav の Portfile のあるディレクトリで
sudo patch -p0 < パッチ
と実行してから
sudo port install clamav
または
sudo port upgrade clamav
と実行してください。


パッチファイル
http://www.h2.dion.ne.jp/~yamaga/files/clamav-0.95.ports.diff

(2009-03-26 15:22 更新)
インストール済みの libltdl をリンクしないようにパッチを修正
ラベル:clamAV MacPorts
posted by yamaga at 22:28| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2009年02月23日

Mew on Carbon Emacs インストールメモ

Carbon Emacs のパッケージには標準で Mew が付いていますが、もし Mew を最新版に入れ替えたい場合は以下のようにします。
$ cd /Applications/Emacs.app/Contents/Resources/site-lisp
$ mv mew mew.ORG
$ cd ../info
$ mkdir .obsolete
$ mv mew.* .obsolete
$ cd 作業ディレクトリ
$ tar zxvf どこか/mew-ほげほげ.tar.gz
$ cd mew-ほげほげ
$ EMACSPATH=/Applications/Emacs.app/Contents
$ export EMACSPATH
$ ./configure \
--infodir=$EMACSPATH/Resources/info \
--with-emacs=$EMACSPATH/MacOS/Emacs \
--with-elispdir=$EMACSPATH/Resources/site-lisp/mew \
--with-etcdir=$EMACSPATH/Resources/site-lisp/mew/etc
$ make
$ make jinfo
$ make install-el install-etc install-info install-jinfo
$ sudo make install-bin

posted by yamaga at 01:32| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2008年12月26日

mimms-3.2.1 インストールメモ

mimms は、2.x になって Qt を使うようになったのですが、わざわざ mimms のためだけに Qt をインストールするのはバカバカしいので手を出さずにいました。ところが、3.x になって python スクリプトになっただけでなく、必須のライブラリが libmms だけになったとのこと。「これなら簡単じゃん!!」ということで MacOS X にインストールしてみました。

(1) libmms
MacPorts で楽々インストール (^^)
sudo port install libmms

(2) mimms
ソースからインストール。
bzcat (どこか)/mimms-3.2.1.tar.bz2 | tar xvf -
cd mimms-3.2.1
make PYTHON=/usr/bin/python
sudo make PYTHON=/usr/bin/python install

ところが実行してみると libmms.so.0 が見つからないというエラーが。
OSError: dlopen(libmms.so.0, 6): image not found
調べてみると、libmimms/libmms.py の中で libmms.so.0 を指定している箇所があったので、そこを以下のように書き換え。
(旧) libmms = cdll.LoadLibrary("libmms.so.0")
(新) libmms = cdll.LoadLibrary("/opt/local/lib/libmms.0.dylib")
その上で再度、インストール。
make PYTHON=/usr/bin/python
sudo make PYTHON=/usr/bin/python install
これでバッチリ (^^)v

インストールされたファイルは以下のとおり。
(x は使用するpythonのバージョンによって異なります。)
/usr/local/bin/mimms
/System/Library/Frameworks/Python.framework/Versions/2.x/share/man/man1/mimms.1
/Library/Python/2.x/site-packages/libmimms
/Library/Python/2.x/site-packages/libmimms/__init__.py
/Library/Python/2.x/site-packages/libmimms/__init__.pyc
/Library/Python/2.x/site-packages/libmimms/core.py
/Library/Python/2.x/site-packages/libmimms/core.pyc
/Library/Python/2.x/site-packages/libmimms/libmms.py
/Library/Python/2.x/site-packages/libmimms/libmms.pyc
/Library/Python/2.x/site-packages/mimms-3.2-py2.x.egg-info
manページは /usr/local 以下に移動しておいたほうがいいでしょう。
cd /System/Library/Frameworks/Python.framework/Versions/2.x/share/man/man1/
sudo mv -i mimms.1 /usr/local/share/man/man1/
cd /System/Library/Frameworks/Python.framework/Versions/2.x
sudo rm -rf share

ラベル:mimms
posted by yamaga at 14:16| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年12月20日

ClamAV 0.92 が MacPorts でインストールできない?!

ClamAV の脆弱性を修正したバージョン 0.92 が公開され、MacPorts の Portfile も 0.92 になっていたので、早速
sudo port -u upgrade clamav
を実行。

ところがコンパイル中にエラー (ToT)

gcc の問題らしく、ちょっと調べてみると、MacOS X 10.4 に付属の gcc-4.0.1 ではコンパイルできないらしい (;o;)

仕方ないので MacPorts で gcc42 (gcc-4.2.2) をインストール。
sudo port install gcc42
そしてインストールされた gcc42 を symlink。
cd /opt/local/bin
ln -s gcc-mp-4.2 gcc
そしてこの gcc を使うようにしてみたところ、何もなかったかのようにインストール完了 (^^)v

ClamAV 0.91.2 用の ClamXav 1.0.8 とも、今のところ特に相性の問題はなさそう (^^)
ラベル:clamAV MacPorts
posted by yamaga at 17:31| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年10月28日

Mac OS X Leopard Upgrade DVD 到着!!

でも「人柱」になる時間的余裕がないので、もう少し様子見。

特にフリーのアプリを多用している自分としては、そのあたりの動作の不具合だとかの情報を聞かないことには、そう簡単にバージョンアップできないので (^^)

でも Leopard は必要以上にアニメーションが多くて、見るからに重そう… (^^;;;

「軽量化」する設定ってあるのかなぁ…。
posted by yamaga at 16:36| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年10月27日

MacOS X で日本語 man ページを読む

MacOS X も Cygwin と同じで、日本語 man ページの設定は施されているのに、そこから呼び出される groff は日本語に対応していないんですよね (^^)
/usr/share/misc/man.conf:
JNROFF /usr/bin/groff -Tnippon -mandocj
こんな風に↑ちゃんと設定されているのに
$ man w3m
/usr/bin/groff: can't find `DESC' file
/usr/bin/groff:fatal error: invalid device `nippon'
ということで、「Cygwin で日本語 man ページを読む」と同じ方法で日本語対応の groff をインストールし、日本語 man ページを読めるように設定しました。
ただし動作を確認したのは MacOS X 10.4.10 のみであり、他のバージョンでも OK かは未確認。
違うのは 1点。JNROFF だけでなく、NROFF も
(旧) NROFF         /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c
(新) NROFF /usr/local/bin/nroff -mandoc -c 2>/dev/null
のように書き換えないと、端末によっては英語の man ページの表示が崩れるみたい。
posted by yamaga at 11:21| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年10月24日

MacPorts で wv がインストールできない?!

MacOS X でわざわざ Word 文書をテキストで読む人なんてあんまりいないのかも知れませんが、ちょっと中身を見るだけの目的で「重たい」ソフトを起動したくないので、wv を愛用しています。

ですので、当然のように MacPorts でインストールしてみたのですが、依存している libgsf のビルドで失敗してしまう (ToT)

エラーメッセージを見ると GNOME への依存の問題らしい…。

でも「GNOME なんて使わないしなぁ」ということで、またちょこっと書き換え (^^)v

/opt/local/var/macports/sources/rsync.macports.org/release/ports/gnome/libgsf/Portfile

を以下のように書き変えてから sudo port install libgsf を実行。
(旧) --with-gnome \
(新) --without-gnome \
その上で
sudo port install wv
を実行したところ、wv は全く問題なくインストールでき、動作も快調です (^^)v
ラベル:WV MacPorts
posted by yamaga at 22:23| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

MacPorts で w3m がインストールできない?!

MacOS X を UNIX として使っている人に利用されているという MacPorts というものを使ってみました。

http://www.macports.org/

確かにこれは便利 (^^)v

難しいことを考えずにさくさくインストールできちゃう (^o^)

ところが意外なところで落とし穴が! (@o@)

w3m がインストールできないのです!! (ToT)

もちろん MacPorts には含まれているのですが、非常に奇妙なことが起こるのです。

ビルド中に mktable の処理に異常に時間がかかって、ほぼハングアップ状態。何度か繰り返していると、稀に mktable の処理がすぐに終わってビルドもインストールも無事に終わることもあるのですが、そこでインストールされた w3m を起動すると、これまたほぼハングアップ状態。ごく稀に正常に起動することもありますが、ほとんどの場合はダメ。

どうも mktable にしろ w3m にしろ、リンクしている boehmgc が正常に動作していない様子。今日現在の MacPorts でインストールされる boehmgc はバージョン 7.0 となっていますが、これは今年の 7月にリリースされたばかりの最新版。

http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/

そういえば boehmgc は新しいバージョンになると必ずと言っていいほど不具合があったなぁと思い出し、1年以上前にリリースされた、ある程度「枯れている」バージョン 6.8 (7.0 の 1つ前のバージョン) に変えてみることにしました。

MacPorts でインストールされるソフトウェアのバージョンを下げる方法がよく分からなかったので、とりあえず、

/opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/boehmgc/Portfile

を以下のように書き換えてから sudo port install boehmgc と実行して boehmgc をインストールしました。
(旧) version        7.0
(新) version 6.8
(旧) distname       ${d_name}-${version}
(新) distname ${d_name}${version}
(旧) checksums      sha1 657d84b702a572f8a510d2c28578a6dbaad3fed2
(新) checksums sha1 6d5def5ba5d29292ba9c76f04df3ec06d3ab3278
その後、改めて sudo port install w3m を実行したところ、全く問題なくビルドもインストールも完了し、w3m も正常に動作しています (^^)v
ラベル:w3m boehmgc MacPorts
posted by yamaga at 22:06| Comment(1) | TrackBack(1) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年02月03日

gnupg-1.4.6 on MacOS X 10.3.9

MacOS X 10.3.9 で gnupg-1.4.6 をただ configure → make → make install してもメッセージファイルを適切に読み込まないので、
$ ./configure --datadir=/usr/local/share

と実行。次にメッセージファイルを再コンパイルするためにあらかじめ
$ rm -f po/*.gmo po/stamp-po
してから make → make install

※ gnupg-1.4.7 では configure → make → make install で OK (2007-03-08追記)


ラベル:gnupg
posted by yamaga at 22:55| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年02月01日

ft2demos-2.3.0 (freetype-2.3.0 用デモパッケージ)

以下は 1/31(水) に公開された freetype-2.3.1 および ft2demos-2.3.1 でも同じです。

こんな感じ↓
$ tar jxvf freetype-2.3.0.tar.bz2
$ mv freetype-2.3.0 freetype2
$ cd freetype2
$ ./configure
$ make
$ cd ..
$ tar jxvf ft2demos-2.3.0.tar.bz2
$ cd ft2demos-2.3.0
$ make
するとこんな↓エラーが (実際は1行)
ld: archive: /...(どこか).../ft2demos-2.3.0/obj/graph.a has no table of contents,
add one with ranlib(1) (can't load from it)
そのときは慌てず騒がず
$ ranlib obj/graph.a
と実行してから再度
$ make
これでエラーがなければたぶん OK。
$ cd ../freetype2
$ sudo make install

posted by yamaga at 10:26| Comment(1) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年01月27日

MacOS X/Darwin での shared library の作り方

最近のライブラリでは、ソースに添付の configure スクリプトを実行することで適切な libtool スクリプトが作られ、それを用いることで shared library が問題なく作られます(ライブラリによっては configure スクリプトに --enable-shared オプションが必要かも知れません)。

しかし古いライブラリでは MacOS X/Darwin に対応していないものも多く、その場合は以下のような方法で shared library を作ることが可能です。この例では /usr/local/lib にライブラリをインストールしています。

(1) コンパイル (オブジェクトファイルの作成)
gcc -fPIC -c ソースファイル

(2) リンク (改行せず 1行で実行)
gcc -dynamiclib -undefined error
    -install_name /usr/local/lib/libX.Y.dylib
    -o libX.Y.Z.dylib オブジェクトファイル
ここで X はライブラリ名、Y はメジャーバージョン番号、Z はマイナーバージョン番号

(3) インストール
# install -c libX.Y.Z.dylib /usr/local/lib
# cd /usr/local/lib
# ln -s libX.Y.Z.dylib libX.Y.dylib
# ln -s libX.Y.Z.dylib libX.dylib

posted by yamaga at 16:04| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

ldd on MacOS X/Darwin

どの shared library をリンクしているか表示するコマンドとして多くの Unix 系 OS では ldd という名前のコマンドが用意されています。

MacOS X/Darwin では代わりに otool というコマンドがあります。これを
otool -L 対象ファイル
と実行すると、ちょうど ldd コマンドと同じような情報が表示されます。
posted by yamaga at 15:45| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

ghostscript 8.54 on MacOS X

もう何年も ghostscript を使わないでいたら、知らないうちにとっても機能アップしていたんですね (^^;;;

で、ふいに ghostscript 8.54 を MacOS X (10.3.9) にインストールしたくなって、ちょっと調べてみると、このバージョンでは素のままでも OpenType や TrueType フォントが使えて、もちろん日本語も OK らしい。でも縦書きの日本語の処理 (PDF への変換) に不具合があるらしいとのことで、

http://www2.gssm.otsuka.tsukuba.ac.jp/staff/ohki/

で公開されているパッチ (8.51用)

gs851-patch-mine

を適用してみました。8.54 ではいくつか reject されますが、

jasper/src/libjasper/include/jasper/jas_types.h

へのパッチは元々 Solaris のための修正だったので、ここでは無視。他の reject されたパッチは大した量ではないので、ちょっと面倒ですが手で直して修正完了。

後は ./configure → make → make install で ghostscript 本体のインストールは完了。

次に欧文フォント ghostscript-fonts-std-8.11.tar.gz を /usr/local/share/ghostscript/ で展開。

しかし URW フォントにバグがあるらしいので、

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?URW

に従って URW フォントを差し替え。

次は日本語フォントの設定です。

MacOS X 標準搭載のヒラギノフォント (OpenType) も使えるそうですが、上記の縦書きの日本語処理を修正するパッチは TrueType にしか対応していないそうなので、今回は IPA フォントを使うことにしました。

独立行政法人 情報処理推進機構のフォント(IPAフォント)付き GRASS国際化版(i18n)
http://www.grass-japan.org/FOSS4G/readme-grass-i18n-ipafonts.eucjp.htm

IPAフォント (ipa*.ttf) を /usr/local/grass5/fonts/ にインストールした後、/usr/local/share/ghostscript/fonts/ 以下にシンボリックリンク。

最初に適用したパッチ gs851-patch-mine のおかげで、既に IPA フォントを使う設定が済んでいますので、これで一通り ghostscript のセットアップは完了です。

実際にいろいろな PS や PDF ファイルを表示させてみましたが、特に問題ありませんでした。

これで終わらせても良かったのですが、PS から PDF の変換で日本語フォントを埋め込まないようにすることでファイル容量を減らしたかったので、ちょっと変更。

ps2pdf とともにインストールされる /usr/local/bin/ps2pdfwr の最下行にある
-c .setpdfwrite
の部分を (改行せず 1行で)
-c '.setpdfwrite <</NeverEmbed [/埋め込まないフォント名 ...]>> setdistillerparams'
と書き換えれば、ps2pdf で作られる PDF は、指定されたフォントが埋め込まれずに PDF を表示するアプリケーションに表示を任せることになります。

ですので PS 標準の日本語フォント /Ryumin-Light と /GothicBBB-Medium を埋め込まないフォントに指定すれば一応 OK ということになります。ところがそうやって作った PDF は、確かに Acrobat Reader であれば表示に問題は無いのですが、「プレビュー」では /Ryumin-Light も /GothicBBB-Medium もどちらも太いゴシック体のフォント (HiraKaku???) に置き換えて表示されてしまいます。

そこで以下のように書き換えて使っています。

(1) /usr/local/share/ghostscript/8.54/lib/cidfmap
/HiraMinPro-W3    << /FileType /TrueType /Path (ipam.ttf) /CSI [(Japan1) 2] >> ;
/HiraMinPro-W6 << /FileType /TrueType /Path (ipam.ttf) /CSI [(Japan1) 2] >> ;
/HiraKakuStd-W8 << /FileType /TrueType /Path (ipag.ttf) /CSI [(Japan1) 2] >> ;
/HiraKakuPro-W3 << /FileType /TrueType /Path (ipag.ttf) /CSI [(Japan1) 2] >> ;
/HiraKakuPro-W6 << /FileType /TrueType /Path (ipag.ttf) /CSI [(Japan1) 2] >> ;
/HiraMaruPro-W4 << /FileType /TrueType /Path (ipagui.ttf) /CSI [(Japan1) 2] >> ;
/Ryumin-Light /HiraMinPro-W3 ;
/Ryumin-Regular /HiraMinPro-W6 ;
/FutoMinA101-Bold /HiraKakuStd-W8 ;
/GothicBBB-Medium /HiraKakuPro-W3 ;
/FutoGoB101-Bold /HiraKakuPro-W6 ;
/Jun101-Light /HiraMaruPro-W4 ;

(2) /usr/local/bin/ps2pdfwr

(旧)
-c .setpdfwrite

(新) ※改行せず 1行で
-c '.setpdfwrite <</NeverEmbed [/HiraMinPro-W3 /HiraMinPro-W6 /HiraKakuPro-W3 
    /HiraKakuPro-W6 /HiraKakuStd-W8 /HiraMaruPro-W4]>> setdistillerparams'
上記のように変更した上で、まず PS ファイル内のフォント名を一旦ヒラギノフォントに変換してから、ps2pdf を通すことで「プレビュー」でも適切に、且つヒラギノフォントを使って表示される PDF を作ることが出来ます。※↓は改行せず 1行で実行。
sed -e 's/Ryumin-Light/HiraMinPro-W3/g' 
    -e 's/GothicBBB-Medium/HiraKakuPro-W3/g' 入力.ps | ps2pdf - 出力.pdf
後はこの変換処理を簡単にできるようにスクリプトにしても良いと思います。なお、オリジナルの ps2pdfwr も残しておいて、日本語フォント埋め込み PDF も作れるようにしておいた方が可搬性の点で良いと思います。

因みに ghostscript の日本語パッチに添付されていたテスト用の PS ファイル (article9.ps) を上記の環境で PDF に変換した場合のファイルサイズです。

(1) フォント名そのままで日本語フォント埋め込み
==> 24,203 byte

(2) フォント名そのままで日本語フォント埋め込まず
==> 5,656 byte

(3) フォント名をヒラギノフォントに変換してから日本語フォント埋め込み
==>24,201 byte

(4) フォント名をヒラギノフォントに変換してから日本語フォント埋め込まず
==> 5,653 byte

なお (2) で作った PDF は Acrobat Reader では適切に表示されましたが、「プレビュー」では埋め込まなかった日本語フォントが全て「太ゴシック」に置き換えられて表示されました。


[関連リンク]
Ghostscript のインストール(Mac OS X 10.4 Tiger)
http://www.interq.or.jp/mars/cherry/mac/gs-tiger.html
posted by yamaga at 00:01| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

2007年01月26日

freetype2 on MacOS X 10.3

MacOS X 10.3 (の X11) 標準で添付されている freetype2 はバージョン 2.1.0。ちょいと古めで最近のアプリがコンパイルできないことがあるので 2.2.x にバージョンアップしようとしてみたところ上手く行かず。

freetype2 ライブラリの構築自体は問題なくできるんだけれど、できた freetype2 ライブラリをリンクするときにエラーが。調べてみると MacOS X のフォント処理絡みのものらしい。でもそういったものを一通り全て無効にしても同様のエラーが。

開発者も認識しているようなので、ちょっと不安だったけれども最近リリースされたばかりの 2.3.0 にしたら、あっさりと解決しました (^^)v

[関連リンク]
[ft] freetype 2.2.1 "undefined" symbols on OSX 10.4.6 causes fontconfig
http://www.arcknowledge.com/gmane.comp.fonts.freetype.user/2006-06/msg00012.html

freetype-2.3.0 インストールメモ
http://blogs.dion.ne.jp/yamaga/archives/5000307.html
posted by yamaga at 18:44| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする

MacOS X 用 mimms-0.0.9

既にいろいろなバイナリパッケージがあるのでわざわざ自分で make する必要もなかったのですが、簡単なので作ってみました。もちろん無保証です。
(2009-02-18追記)
特に必要がなければ mimms-3.x 以降に移行した方が良いでしょう。
mimms-3.2.1 インストールメモ
・MacOS X 10.3.9 (Darwin 7.9.0) でコンパイルしたバイナリ

・make 前に必要だった修正

必要なライブラリ libpopt と libuuid は static link しているので、上記バイナリをパスの通ったディレクトリに置いて実行属性を与えれば使えるはずです。

因みにリンクした libpopt は popt-1.7、libuuid は e2fsprogs-1.39 です。

[関連リンク]
MiMMS isn't an MMS Message Sender
http://savannah.nongnu.org/projects/mimms/

ダウンロード
http://download.savannah.gnu.org/releases/mimms/
posted by yamaga at 17:40| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする