rpm2txz Difficulty
Posted: 24 Sep 2014, 17:42
Needed libpng16
Obtained from libpng16_16-1.6.2-2-omv2013.0.i586.rpm
Turned up error upon invoking ImageMagick executable display
But version PNG16_0 is supposed to be in RPM
RPM contents according to cpio
Contents of TXZ
Info from usr/lib/libpng16.so.16.2.0 same as /usr/lib/libpng16.so.16.2.0And PNG16_0 is definitely there, and this has got me stymied
Code: Select all
guest@porteus:~$ slackyd -c p10/Por/slackyd.conf -d
...
libpng16.so.16 required by:
--> Package: imagemagick-6.8.9.7-1-i686 (/usr/lib/ImageMagick-6.8.9/modules-Q16HDRI/coders/png.so)
...
Searching libpng16.so.16: nothing found.
Code: Select all
guest@porteus:~$ ls -l /var/log/packages/libpng16_16-1.6.2-2-omv2013.0.i586
-rw-r--r-- 1 root root 300 Sep 23 14:14 /var/log/packages/libpng16_16-1.6.2-2-omv2013.0.i586
guest@porteus:~$ ldd /usr/lib/ImageMagick-6.8.9/modules-Q16HDRI/coders/png.so
...
libpng16.so.16 => /usr/lib/libpng16.so.16 (0xb6feb000)
Code: Select all
display: relocation error: /usr/lib/ImageMagick-6.8.9/modules-Q16HDRI/coders/png.so: symbol png_set_option, version PNG16_0 not defined in file libpng16.so.16 with link time reference
Code: Select all
libpng16_16 - A library of functions for manipulating PNG image format files
Distribution: OpenMandriva Lx 2013.0
Repository: OpenMandriva Main i586
Package name: libpng16_16
Package version: 1.6.2
Package architecture: i586
Package type: rpm
Download size: 95,95 KB
Installed size: 222,05 KB
Official mirror: abf-downloads.rosalinux.ru
This package contains the library needed to run programs dynamically linked with libpng.
Provides
libpng16_16 [== 2:1.6.2-2:2013.0]
libpng16.so.16
libpng16.so.16(PNG16_0)
Code: Select all
guest@porteus:~$ rpm2cpio p10/Por/var/slackyd/libpng16_16-1.6.2-2-omv2013.0.i586.rpm | cpio -it
./usr/lib/libpng16.so.16
./usr/lib/libpng16.so.16.2.0
445 blocks
guest@porteus:~$ rpm2cpio p10/Por/var/slackyd/libpng16_16-1.6.2-2-omv2013.0.i586.rpm | cpio -dim
445 blocks
usr
└── lib
├── libpng16.so.16 -> libpng16.so.16.2.0
└── libpng16.so.16.2.0
1 directory, 2 files
Code: Select all
guest@porteus:~$ tar xJf p10/Por/ImMagick/libpng16_16-1.6.2-2-omv2013.0.i586.txz -C rpm2txz
rpm2txz
├── install
│ └── doinst.sh
└── usr
└── lib
└── libpng16.so.16.2.0
3 directories, 2 files
guest@porteus:~$ cat rpm2txz/install/doinst.sh
( cd usr/lib ; rm -rf libpng16.so.16 )
( cd usr/lib ; ln -sf libpng16.so.16.2.0 libpng16.so.16 )
Code: Select all
guest@porteus:~$ cmp /usr/lib/libpng16.so.16.2.0 usr/lib/libpng16.so.16.2.0
guest@porteus:~$ readelf -V usr/lib/libpng16.so.16.2.0
...
Version definition section '.gnu.version_d' contains 2 entries:
Addr: 0x0000000000003600 Offset: 0x003600 Link: 3 (.dynstr)
000000: Rev: 1 Flags: BASE Index: 1 Cnt: 1 Name: libpng16.so.16
0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: PNG16_0