loader issue ?

Peter S. Mazinger ps.m at gmx.net
Tue Jun 6 09:58:14 UTC 2006


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