[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pixia



kei_sun@ba2.so-net.ne.jp wrote:

 > Kazuki> X		libpng-1.0.3-3.i386.rpm \
 > Kazuki> X		libtiff-3.4-6.i386.rpm
 > 
 > まだちゃんと見ていませんが、pkgsrcのものは使えませんか。
 > libtiffはpkgsrcの方が新しくなっていますけれども。

pixiaはLinux/i386用のバイナリです。ので、
suse_devel使ってcompileすれば使えると思います。
pixia自体はTurboLinux3 or 4を想定しているので、
そこから持って来たわけです。


NetBSDのELF shared libraryを使うとどうなるか :-)

% ln -s /usr/pkg/lib/libpng.so /tmp/libpng.so.2
% ln -s /usr/pkg/lib/libtiff.so /tmp/libtiff.so.3
% env LD_LIBRARY_PATH=/tmp ./pixia
./pixia: error in loading shared libraries: /tmp/libtiff.so.3: undefined symbol: jpeg_resync_to_restar

む

% env LD_LIBRARY_PATH=/tmp LD_PRELOAD=/usr/pkg/lib/libjpeg.so ./pixia
invalid system call (core dumped)

おしい。syscall使ってなければ(or LinuxとNetBSDで
まったく同じsyscallだけなら)動くのに。
で、shared libraryを呼んだときだけ、emul netbsdに
switchしてくれれば解決するのになぁ、とか思うわけです。


さらにあやしげに

% echo "dummy(){}" > a.c
% /usr/bin/cc -c a.c
% /usr/bin/ld -shared -soname libpng.so -o libpng.so.2 a.o
% /usr/bin/ld -shared -soname libtiff.so -o libtiff.so.3 a.o
% env LD_LIBRARY_PATH=`pwd` ./pixia

とかしても動きます :-)   tiffやpng関連の操作すると即死でしょうけど。

sakamoto