loader issue ?

jean-marie.verdun at splitted-desktop.org jean-marie.verdun at splitted-desktop.org
Mon Jun 5 22:14:37 UTC 2006


Hi,

I made some progress porting enlightenment on top of Kdrive server and 
uClibc library. I am facing at the present time two strange behavior, one 
meet with Mozilla Firefox and one meet with Eterm. I do believe that both 
of them are coming from the same place.
Some symbol are declared unresolved despite that they are declared 
into opened shared object during program startup.

Running Eterm I got this error:
Eterm: can't resolve symbol '__imlib_LoadImage'
And firefox
/usr/local/lib/firefox-1.5.0.2/firefox-bin: Can't resolve symbol 
'pango_xft_get_font_map'

Those symbols are standing respectively into:
/usr/lib/libImlib2.so

nm /usr/lib/libImlib2.so | grep __imlib_LoadImage
return 0001e600 t __imlib_LoadImage

and libpangoxft-1.0.so into /usr/lib regarding firefox issue.

Using LD_PRELOAD is a workaround for firefox and I got it running 
successfully (I can browse Internet web pages), but this hint do not work 
for the Eterm issue. Imlib is quite complex stuff as the library is used 
to open image manipulation shared objects to support various format into:
/usr/lib/imlib2/loaders/
where ls return

/usr/lib/imlib2/loaders/ani.so*   /usr/lib/imlib2/loaders/ico.so* 
/usr/lib/imlib2/loaders/png.so*   /usr/lib/imlib2/loaders/xcf.so*
/usr/lib/imlib2/loaders/argb.so*  /usr/lib/imlib2/loaders/id3.so* 
/usr/lib/imlib2/loaders/pnm.so*   /usr/lib/imlib2/loaders/xpm.so*
/usr/lib/imlib2/loaders/bmp.so*   /usr/lib/imlib2/loaders/jpeg.so* 
/usr/lib/imlib2/loaders/tga.so*   /usr/lib/imlib2/loaders/zlib.so*
/usr/lib/imlib2/loaders/bz2.so*   /usr/lib/imlib2/loaders/lbm.so* 
/usr/lib/imlib2/loaders/tiff.so*

Each of those object are opened. And after the loader can't resolve 
symbols standing into the original Imlib2.so file.

I am using now, the standard 0.9.28 release (migrate from 0.9.27). It is 
hard for me to manage a test with SVN version. I can provide access to a 
root fs where my environment stands, or provide any help needed to track 
down this issue.

I will continue to try to understand it by producing a simple reproducer, 
but seems to be quite difficult at the present time.

If LD_DEBUG set to 1 output is requested I can send it to you !

Jm



More information about the uClibc mailing list