[lsb-discuss] LSB Build Environment and DT_NEEDED entries resulting from pkg-config

Daniel Yek dyek at real.com
Wed Dec 27 21:00:00 PST 2006


Hi,

I'm getting closer to LSB 3.1 compliance in Helix and RealPlayer. There are 
a few more issues remain:

RealPlayer:
Incorrect program interpreter: /lib/ld-linux.so.2
Header[ 1] PT_INTERP       Failed
Found wrong intepreter in .interp section: /lib/ld-linux.so.2 instead of: 
/lib/ld-lsb.so.3
DT_NEEDED: libXrandr.so.2 is used, but not part of the LSB
DT_NEEDED: libXinerama.so.1 is used, but not part of the LSB
DT_NEEDED: libXfixes.so.3 is used, but not part of the LSB
DT_NEEDED: libXcursor.so.1 is used, but not part of the LSB
DT_NEEDED: libXft.so.2 is used, but not part of the LSB
DT_NEEDED: libXrender.so.1 is used, but not part of the LSB
DT_NEEDED: libpangox-1.0.so.0 is used, but not part of the LSB
DT_NEEDED: libfreetype.so.6 is used, but not part of the LSB
Symbol __divdi3 used, but not part of LSB_Modules
Symbol __moddi3 used, but not part of LSB_Modules
Checking binary 
/opt/lsb-buildenv-ia32/home/dyek/source/helix/realplayer_voldemort.lsb2/player/installer/archive/temp/realplay.bin

Plugins:
compareElfhdr: e_type isn't expected value ET_EXEC, found 3 instead
compareElfhdr: e_type isn't expected value ET_EXEC, found 3 instead
compareElfhdr: e_type isn't expected value ET_EXEC, found 3 instead
Symbol __divdi3 used, but not part of LSB_Modules
Symbol __moddi3 used, but not part of LSB_Modules
read_FDE_encoded() unexpected encoding 10
read_FDE_encoded() unexpected encoding 10
Symbol __divdi3 used, but not part of LSB_Modules
Symbol __stack_chk_fail used, but not part of LSB_Modules
Symbol __moddi3 used, but not part of LSB_Modules
...


I have several questions.

How come using LSB Build Environment, I'm getting more DT_NEEDED entries, 
such as libXinerama.so, that I don't get outside of LSB BE? I'm running 
<https://ribosome.helixcommunity.com/>Ribosome in LSB BE and it is 
configured to use pkg-config in some source directories.

Is there a best practise in removing the DT_NEEDED entries resulting from 
the extra linker flags produced by pkg-config (while still using 
pkg-config)? I found "--as-needed" inconsistent in its effectiveness and I 
still haven't found out why.

Apparently, LSB BE doesn't automatically take care of the program 
interpreter. Do I have to configure my build process to use the following 
linker switch while building inside LSB BE?
-Wl,--dynamic-linker,/lib/ld-lsb.so.3


Most LSB web site information showed that __divdi3 should be transparently 
taken cared of, but it is not. Do I have to do anything about it?

Any idea what e_type 3 means? Shouldn't most executable be compiled with 
-fpic or -fPIC and hence not ET_EXEC?


What is read_FDE_encoded()?

Thanks.

-- 
Daniel Yek




More information about the lsb-discuss mailing list