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: