loader issue ?

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


Hi Peter,

Thanks for the information, but the same stuff compiled on a glibc 
environment do not raised the issue. (I check the link target etc for each 
stuff). Do you believe that the glibc loader stack is using some hints ? The other thing is that despite the fact that 
DT_NEEDED is not declared into one shared object, the LD_PRELOAD 
environment variable should make disappear this issue ?

I will try to make further investigation.

Jm

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

> On Tue, 6 Jun 2006 jean-marie.verdun at splitted-desktop.org wrote:
>
>> Hi Pete,
>>
>> Both libraries are specified during link phase of Eterm and Firefox.
>
> it is not eterm/firefox itself that fails, it is one of the used libs that
> miss those symbols and do not have DT_NEEDED for those libs (I had the
> problem myself, but haven't went to track down what has to be really done)
>
>> How can I check that the DT_NEEDED flags is set ?
>
> readelf -d <binary> | grep NEEDED
>
>> I attach an output of the LD_DEBUG load phase for the Eterm program.
>>
>> 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
>>>
>>
>
> -- 
> Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
> Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2
>



More information about the uClibc mailing list