On Wed, Apr 29, 2009 at 12:19 PM, hoefle marco <[email protected]> wrote: > On Tue, 2009-04-28 at 09:34 -0300, Amandeep Bhullar wrote: >> Hi >> >> > Setting up debian-archive-keyring (2009.01.31em1) ... >> > gpg: symbol lookup error: /lib/libreadline.so.5: undefined symbol: >> PC >> > gpg: symbol lookup error: /lib/libreadline.so.5: undefined symbol: >> PC >> > gpg: symbol lookup error: /lib/libreadline.so.5: undefined symbol: >> PC >> > dpkg: error processing debian-archive-keyring (--configure): >> > subprocess post-installation script returned error exit status 127 >> >> > Does libreadline exist at that path in the rootfs? What version? >> >> Yes, libreadline.so.5 exists under /lib. Will it affect the working. >>
What version of emdebian tools are you using? Previously I had built my rootfs with emdebian-tools 1.5.1 and I didn't have this problem. However today I have switched everything to the lenny versions [emdebian-tools 1.4.3] and fixed the sources to point to lenny [there is a bug causing it to point to unstable with the lenny version of emdebian-tools] I now get the problem described above with a rootfs built with the lenny version. The error occurs anytime gpg is run: ~ # gpg gpg: symbol lookup error: /lib/libreadline.so.5: undefined symbol: PC Now strange thing is that both filesystems (built with 1.5.1 and lenny) show the same version of libreadline5: ~ # dpkg -l | grep libreadline ii libreadline5 5.2-3.1em1 GNU readline and history libraries, run-time But when I look at the files they are different (please ignore dates - they are not preserved) [lenny build] ~ # ls -l /lib/libread.so.5.2 -r-xr-xr-x 1 root root 525346 Apr 29 2009 /lib/libreadline.so.5.2 $ md5sum target/nfs/lib/libreadline.so.5.2 9fb29ee716455a838451e36717f50af7 target/nfs/lib/libreadline.so.5.2 [1.5.1] $ ls -l target/nfs/lib/libreadline.so.5.2 -r-xr-xr-x 1 root root 519816 Oct 15 2007 target/nfs/lib/libreadline.so.5.2 $ md5sum target/nfs/lib/libreadline.so.5.2 33557759a13ae95d314a43ba26f2f985 target/nfs/lib/libreadline.so.5.2 The lib contained in the emdebian repository : http://buildd.emdebian.org/emdebian/pool/main/r/readline5/libreadline5_5.2-3.1em1_arm.deb is the lenny version [and doesn't work] I don't know where my working version of libreadline comes from [it would be good if those that have a working gpg post the size and md5sum of their libreadline] Replacing the libreadine on the otherwise lenny version causes gpg to work. Running objdump on them (now called -good and -bad) $ arm-linux-gnu-objdump libreadline.so.5.2-bad -tT | grep PC 00000000 *UND* 00000000 PC 00000000 D *UND* 00000000 PC $ arm-linux-gnu-objdump libreadline.so.5.2-good -tT | grep PC 00000000 O *UND* 00000001 PC 00000000 DO *UND* 00000001 PC For comparison the i386 version on lenny $ objdump /lib/libreadline.so.5.2 -tT | grep PC 00000000 DO *UND* 00000001 PC Finally arm version from Debian lenny (not emdebian) $ arm-linux-gnu-objdump ~/tmp/libreadline.so.5.2 -tT | grep PC 00000000 DO *UND* 00000001 PC So the symbol is always undefined but the working versions have an extra flag "O" I can't seem to find any doc on the objdump output format that explains this -anyone? Cheers, Martin -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

