Subject: ft2build.h hasn't been included yet
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 09/16/2004 13:24:31
Today I was building a blackbox beta and it died with familiar errors:

In file included from
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/X11
/Xft/Xft.h:41,
                 from Font.cc:36:
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/freetype2/freetype/freety
pe.h:20:2: #error "`ft2build.h' hasn't been included yet!"
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/freetype2/freetype/freety
pe.h:21:2: #error "Please always use macros to include FreeType header
files."
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/freetype2/freetype/freety
pe.h:22:2: #error "Example:"
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/freetype2/freetype/freety
pe.h:23:2: #error "  #include <ft2build.h>"
/usr/pkgsrc/new/blackbox-devel/work/.buildlink/include/freetype2/freetype/freety
pe.h:24:2: #error "  #include FT_FREETYPE_H"

I already had updated to freetype2-2.1.9 because it was recommended
(required).

But my Xft2 was Xft2-2.1.2nb1.

I am using X as provided from pkgsrc's XFree86-libs.

So I upgraded to latest Xft2 in pkgsrc and the blackbox I am working on
built fine.

My question is: if we are using new freetype.h from pkgsrc freetype
package shouldn't we automatically required newer Xft2?

The fixed version in pkgsrc was Xft2-2.1.2nb2 (and some nb1 which was
missing the PKGREVISION bump).

My I commit this fix?

Index: fonts/Xft2/buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/fonts/Xft2/buildlink3.mk,v
retrieving revision 1.12
diff -b -u -r1.12 buildlink3.mk
--- fonts/Xft2/buildlink3.mk	18 Mar 2004 09:12:11 -0000	1.12
+++ fonts/Xft2/buildlink3.mk	16 Sep 2004 20:21:42 -0000
@@ -12,6 +12,7 @@

 .if !empty(XFT2_BUILDLINK3_MK:M+)
 BUILDLINK_DEPENDS.Xft2+=	Xft2>=2.1
+BUILDLINK_RECOMMENDED.Xft2+=	Xft2>=2.1.2nb2
 BUILDLINK_PKGSRCDIR.Xft2?=	../../fonts/Xft2
 .endif	# XFT2_BUILDLINK3_MK

Or should this be done on a package-by-package basis?

I still am confused when BUILDLINK_DEPENDS versus BUILDLINK_RECOMMENDED
should be used. I know BUILDLINK_RECOMMENDED must be increased for
security fixes. I assume BUILDLINK_DEPENDS AND BUILDLINK_RECOMMENDED
should be increased for any package-wide build problems and when library
major number changes, etc. And get rid of BUILDLINK_RECOMMENDED if same
as BUILDLINK_DEPENDS. So maybe I should just increase BUILDLINK_DEPENDS
for my Xft2 fix?

 Jeremy C. Reed

 	  	 	 BSD News, BSD tutorials, BSD links
	  	 	 http://www.bsdnewsletter.com/