Thread: iLiad How to replace /usr/lib?
View Single Post
Old 04-10-2009, 10:59 AM   #8
hansel
JSR FFD2
hansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheesehansel can extract oil from cheese
 
hansel's Avatar
 
Posts: 305
Karma: 1045
Join Date: Aug 2008
Location: Rotterdam, Netherlands, Europe, Sol 3
Device: iliad
How to debug library dependencies

This discussion is getting interesting!

You can check what libraries are found, missing, etc directly on the Iliad by running the dynamic linker (/lib/ld-linux.so.2) on an executable or library. It also shows you the effect of LD_LIBRARY_PATH and /etc/ld.so.conf. This will show you which libraries are REALLY used... It a great tool when debugging library issues.

You can run it like so:

Code:
root@ereader:~# /lib/ld-linux.so.2 --list /usr/bin/contentLister 
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40002000)
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x402e6000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x4036a000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x4038d000)
	libm.so.6 => /lib/libm.so.6 (0x403ab000)
	libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x40458000)
	libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x40466000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x40478000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x404b2000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x404e6000)
	libdl.so.2 => /lib/libdl.so.2 (0x404f1000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x404fc000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40508000)
	liberlog.so.1 => /usr/lib/liberlog.so.1 (0x40579000)
	liberregxml.so.0 => /usr/lib/liberregxml.so.0 (0x40584000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x405a4000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x406b1000)
	libz.so.1 => /usr/lib/libz.so.1 (0x4070b000)
	liberipc.so.0 => /usr/lib/liberipc.so.0 (0x40724000)
	liberdm.so.2 => /usr/lib/liberdm.so.2 (0x40734000)
	libergtk.so.0 => /usr/lib/libergtk.so.0 (0x40740000)
	libermanifest.so.0 => /usr/lib/libermanifest.so.0 (0x40750000)
	libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x4075c000)
	libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x40791000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4088c000)
	libc.so.6 => /lib/libc.so.6 (0x40895000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x409a2000)
	libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x40a90000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x40ae4000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x40aef000)
	libXft.so.2 => /usr/lib/libXft.so.2 (0x40b06000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40b20000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40b84000)
	libXfixes.so.0 => /usr/lib/libXfixes.so.0 (0x40bb6000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x40bc2000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x40bd2000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x40be2000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
	libXau.so.0 => /usr/lib/libXau.so.0 (0x40c0d000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x40c17000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x40c22000)
	libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40c3d000)
or so:
Code:
root@ereader:~# /lib/ld-linux.so.2 --list /usr/lib/libatk-1.0.so.0    
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x40025000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4005a000)
	libdl.so.2 => /lib/libdl.so.2 (0x40065000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40070000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x400e1000)
	libc.so.6 => /lib/libc.so.6 (0x400ea000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
hansel is offline   Reply With Quote