diary/Kojima

・いつの間にやら..

xv-3.10a を Plamo64 用にビルドしようとすると,

cc -m64 -O2 -DXSHM -mno-align-double -DDOJPEG -I/usr/include -DDOTIFF -I/usr/include -DDOPDS 
  -DLINUX -DDOPNG -I/usr/include -I/usr/lib -DBZLIB  -DMGCSFXDIR=\"/usr/lib64\" -c xvimage.c
xvimage.c: In function 'Pic8ToXImage':
xvimage.c:1819: error: インクリメントの中での左辺値が無効です
xvimage.c:1820: error: インクリメントの中での左辺値が無効です
xvimage.c:1830: error: インクリメントの中での左辺値が無効です
xvimage.c:1831: error: インクリメントの中での左辺値が無効です
make: *** [xvimage.o] エラー 1

などというエラーが.該当個所を見てみると,

 *((unsigned char *)ip)++ = (xcol>>8) & 0xff;
 *((unsigned char *)ip)++ = (xcol) & 0xff;

などというコードで,unsigned char のポインタにキャストしたポインタをイ ンクリメントしてデータを書き込む,みたいな処理らしい.このあたりになる とどう直していいのかよく分からないので,他のディストリのパッチを漁った ら,SuSE の srpm に含まれていた jumbo-patch で該当個所を直しているのを 発見.

どうやら *ip の定義を byte にしてキャストを無くような形にしているらしい. とりあえずその部分の修正をパッチにして PlamoBuild スクリプトで当てるよ うにして何とかx86_64用のパッケージを作成.しかし,今回作ったパッチで, いつの間にやら xv-3.10a に対するパッチが154 個にも逹っしているや..

xv は最近のソフトウェアみたいに高機能なツールキットに頼らず,Xaw レベル でコーディングされている古いソフトウェアだけど,ヘンに凝った機能が無い 分サクサク動くし,画像を見るのに必要な機能は十分に備わっているから,私 みたいな愛好者も多いのだろうなあ.

しかし,元々の xv-3.10a はソースコードは公開されているものの,$25が必要 なシェアウェアなのに,ここまで改造されながら生き残っているというのはあ る意味凄い気がする.



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41