Jeremy C. Reed wrote:
I use IGNORE_RECOMMENDED=yes.This fix should not change any bulk builds (since they do not use IGNORE_RECOMMENDED=yes by default), but I can wait until after freeze if needed.diff -b -u -r1.15 buildlink3.mk --- textproc/expat/buildlink3.mk 5 Feb 2006 23:11:01 -0000 1.15 +++ textproc/expat/buildlink3.mk 22 Mar 2006 20:28:08 -0000 @@ -11,7 +11,7 @@ BUILDLINK_PACKAGES+= expat.if !empty(EXPAT_BUILDLINK3_MK:M+)-BUILDLINK_DEPENDS.expat+= expat>=1.95.7 +BUILDLINK_DEPENDS.expat+= expat>=2.0.0 BUILDLINK_RECOMMENDED.expat+= expat>=2.0.0nb1 BUILDLINK_PKGSRCDIR.expat?= ../../textproc/expat .endif # EXPAT_BUILDLINK3_MK
No, this patch is not correct. This is, IIRC, exactly what BUILDLINK_RECOMMENDED was originally put into pkgsrc for -- the handle the case where a lot of software can continue to build with the old version of a library even though the latest version in pkgsrc has had a shlib major bump. What you are running into is basically the problems with running with IGNORE_RECOMMENDED=yes, which is why that default to "no".
You can just directly add the following directly into your /etc/mk.conf to force a newer expat:
BUILDLINK_DEPENDS.expat+= expat>=2.0.0This setting will be picked up and used by all packages that include expat/buildlink3.mk. In case anyone is wondering, this is precisely why buildlink3.mk files set BUILDLINK_DEPENDS.* with += instead of =.
Cheers, -- Johnny Lam <jlam%pkgsrc.org@localhost>