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

Re: Changes in handling library dependencies



Previously Roman Hodek wrote:
> Don't most packages do this already? I guess at least debhelper and
> debstd should run dpkg-shlibdeps on libs already... So the change
> shouldn't affect too many packages.

Looking at the db_shlibdeps code it indeed does so already.  I mostly
checked some GNOME stuff and it doesn't seem to do this. In fact GNOME
demonstrated quite clearly how not to use the linker, and I cheated a
bit in my example to circumvent that.

People using gtk and imlib are supposed to use gtk-config and
imlib-config to get the right compile and link flags. Now look
at this:

[tornado;~/sources/original/dpkg/dpkg]-10> imlib-config --libs
-L/usr/lib -lImlib -ljpeg -ltiff -lungif -lpng -lz -lm -lXext -L/usr/X11R6/lib -lSM -lICE -lXext -lX11

This is extremely silly, as we can see:

[lightning;~]-10> objdump -p /usr/lib/libImlib.so.1 | grep NEEDED
  NEEDED      libjpeg.so.62
  NEEDED      libtiff.so.3
  NEEDED      libungif.so.3
  NEEDED      libpng.so.2
  NEEDED      libz.so.1
  NEEDED      libm.so.6
  NEEDED      libc.so.6
  
So imlib-config shouldn't list any of those libraries since libImlib
is already linked to them. (I'm assuming we have a sane dynamic linker
here, for other OSes this might not be the case).  I'm also willing to
bet that libImlib probably should be linked to all those X libraries as
well so the only thing you need to do if you link with libImlib is only
do -lImlib.  Somehow I have the nasty feeling though that the GNOME
developers are not very willing to clean up their act and correct this
though..

Wichert.

-- 
   ________________________________________________________________
 / Generally uninteresting signature - ignore at your convenience  \
| wichert@liacs.nl                    http://www.liacs.nl/~wichert/ |
| 1024D/2FA3BC2D 576E 100B 518D 2F16 36B0  2805 3CB8 9250 2FA3 BC2D |

Attachment: pgpNHQOLqIoYx.pgp
Description: PGP signature


Reply to: