loader issue ?

jean-marie.verdun at splitted-desktop.org jean-marie.verdun at splitted-desktop.org
Tue Jun 6 12:17:57 UTC 2006


Hi Pete,

Both libraries are specified during link phase of Eterm and Firefox.
How can I check that the DT_NEEDED flags is set ?
I attach an output of the LD_DEBUG load phase for the Eterm program.
According to this output ldso is loading the Imlib2 shared object but face 
some issue to resolve internal symbols.

Jm


On Tue, 6 Jun 2006, Peter S. Mazinger wrote:

> On Mon, 5 Jun 2006 jean-marie.verdun at splitted-desktop.org wrote:
>
>> 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.
>
> uClibc's ldso requires that you have DT_NEEDED entry for each lib you need
> for an app.
>>
>> Running Eterm I got this error:
>> Eterm: can't resolve symbol '__imlib_LoadImage'
>
> eterm needs probably DT_NEEDED for libImlib2.so
>
>> And firefox
>> /usr/local/lib/firefox-1.5.0.2/firefox-bin: Can't resolve symbol
>> 'pango_xft_get_font_map'
>
> libpangoxft.so here
>
>>
>> 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
>
> better add the missing libs -lImlib2/-lpangoxft at link time to the
> app/lib that is requiring it
>
>> 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
>
> svn will behave the same
>
> Peter
>
>> 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
>>
>>
>
> -- 
> Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
> Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: out.gz
Type: application/octet-stream
Size: 3400 bytes
Desc: LD_DEBUG output Eterm
Url : http://lists.busybox.net/pipermail/uclibc/attachments/20060606/874ccbc7/attachment.obj 


More information about the uClibc mailing list