5月 092011
 

いやね。最近 ports-current から csup して来て portupgrade -arR すると graphics/netpbm だけコンパイルエラーになって make が完了しなかった。

その後「今インストールしてあるやつを先に deinstall しろ。」ってメッセージが出力されるようになったのでその通りに試したら、おぉっ!! ちゃんと make が完了してインストールできるようになった。ヨカッタヨカッタ。

しかし、サーバ上で graphics/netpbm をインストールしようとしたらなんとこいつは libX11 などと言う、サーバにはまぁるで関係のないライブラリと言うか ports をインストールするようになっていた。アイタタタタ・・。orz。

ちょっと前までは netpbm-10.26.64 と、言うバージョンをインストールしていた。csup したら netpbm-10.35.80 をインストールしようとする。こいつがなんとっ!! X11 の ports をガサゴソとインストールしてくれちゃうんですな。 graphics/netpbm/Makefile を眺めても USE_XORG= x11 なんて書いてある。でもってどう見ても WITHOUT_X11=yes ってのが有効にならない・・。

サーバで X は要らんだろう。ということで irc の皆さんと話したり色々調べたりした結果どうやら /usr/local/bin/pamx というのが X のライブラリをリンクしているのを発見。ソースコード的には netpbm-10.35.80/other/pamx。 こいつは 10.26.64 のころには存在しないソースなわけね。

では pamx は何をするコマンドなのか調べてみたら、画面にイメージを表示するコマンドみたい。X-Window の壁紙設定コマンドみたいな感じかな。そんなの既にたくさんあるのでわざわざ netpbm で車輪の再開発することもなかろうに・・。などと思ったのであります。

と、言うことで、 graphics/netpbm の make 時に make WITHOUT_X11=yes と指定できる Makefile を用意したので X11 が必要無い環境で netpbm を利用する方は参考にしてみてください。

http://icmpv6.org/Prog/FreeBSD_ports/ports-netpbm-10.35.80_WITHOUT_X11_Makefile

WITHOUT_X11=yes を指定すると pamx を make、install しないので X11 のライブラリは要らなくなるようにしています。 ただ、 pkg-plist はいじってないので make deinstall 時に実際にインストールされなかった bin/pamx が無いよ。と言われますが、まぁ、その点は許してください;-)。

ちなみに僕はサーバ上で graphics/netpbm を利用していますが、ひとつは photo_gallery を利用しているため、もうひとつは、日本道路交通情報センターの交通情報の画像を取ってきて携帯電話からアクセスして表示できるように 90 度傾けたりサイズを変更したりするために利用しているのであります。

サーバ上では X11 は要らん。しかし graphics/netpbm は利用しているのであります;-)。