Subject: dependencies wrong for expat and firefox-gtk2
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 04/08/2004 01:26:16
I have:

 firefox-gtk2-0.8nb2.tbz expat-1.95.7.tbz XFree86-libs-4.4.0.tbz

ldd of firefox-gtk2 shows
        libexpat.so.4 => not found

The expat package provides /usr/lib/libexpat.so.5.0.

I had built the firefox-gtk2 package before I had built expat package.

And on another machine these packages installed fine.

firefox-gtk2 doesn't appear to have any dependency on the expat package.

But looking closer with ldd of the libraries used by firefox-gtk, I see
all of these also want the libexpat.so.4 (which doesn't exist).

/usr/lib/libgtk-x11-2.0.so.400

/usr/lib/libgdk-x11-2.0.so.400

/usr/lib/libpangoxft-1.0.so.399

/usr/lib/libXft.so.2

/usr/lib/libfontconfig.so.1

/usr/lib/libpangoft2-1.0.so.399


Maybe this is just a one-time isolated problem, but it seems like whatever
wants libexpat should have more fine-tuned, not-open-ended dependency.

I had mentioned before about having dependencies also based on filenames,
and I believe that is probably wrong.

But having a precise DEPENDS line is important.

It appears that my fontconfig-2.2.1nb3.tbz has a requirement of:
expat>=1.95.4

And my XFree86-libs-4.4.0.tbz requires expat>=1.95.4 also.

But my expat-1.95.7.tbz is wrong (because library number changed).

Now I see why: expat was updated to version 1.95.7 on March 2.

But buildlink2 was last modified in October with the comment:

  expat >= 1.95.4 provide libexpat.4 which other packages need, so bump
  BUILDLINK_DEPENDS accordingly.

  fixes build problems observed by a couple of users on tech-pkg,
  well as fixing PR pkg/21325.

And buildlink3.mk has never had depends updated since its existence.

   Jeremy C. Reed
   http://bsd.reedmedia.net/