[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

E: xmms: shlib-with-non-pic-code usr/lib/xmms/Input/libmpg123.so



Package: xmms

Lintian generates this error for my xmms package:

E: xmms: shlib-with-non-pic-code usr/lib/xmms/Input/libmpg123.so

Now, I don't think I understand why. Apparently, this plugin is compiled
with -fPIC all the way, as the attached build log clearly shows. The Lintian
check seems to parse the output of this:

	objdump -hpT libmpg123.so

For this Perl regexp: (/^\s+\d+\s+\.rela?\.text/o), and that (I guess) gives
this (as of xmms 1.2.1-2):

00003378 l    d  .rel.text      00000000

I'll blindly believe that the check is okay, since that plugin, unlike
others, has this:

  TEXTREL     0x0

I was told to grep for the rel.txt in the object files, but...

[joy@pork:~/deb/xm/xmms-1.2.1/Input/mpg123]% objdump -hp *.lo | egrep 'rela?\.text'
[joy@pork:~/deb/xm/xmms-1.2.1/Input/mpg123]%

...nothing. Maybe it's pulling in that thing through some other library it
links with?

% for k in $(for j in $(for i in -lgtk -lgdk -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -lpthread; do d=lib`echo $i | sed s/-l//`.so; echo $d; done); do locate /$j | egrep -v '.so.|libc1'; done); do objdump -hpT $k | egrep 'rela?\.text' && echo "   ^^  $i"; done
% 

[yes, i know that was sick and ugly and pointless :)]

All of the .lo files are "LSB relocatable" and the resulting libmp123.so is
"LSB shared object", which should mean that the -fPIC setting is working.

There haven't been any problems reported with the package due to this. Yet.

Any kind soul who understands shared libraries better, please help.

-- 
Digital Electronic Being Intended for Assassination and Nullification



Reply to: