[OE-core] [PATCH][morty] fontconfig: Fix namespace conflicts with glibc
akuster808
akuster808 at gmail.com
Wed Nov 22 18:00:45 UTC 2017
On 11/22/2017 09:51 AM, Ross Burton wrote:
> From: Khem Raj <raj.khem at gmail.com>
>
> glibc 2.25 will come with TS 18661-1 macro definitions in limits.h which ends with following errors
>
> | ../../fontconfig-2.12.1/src/fcmatch.c:324:63: error: 'PRI_CHAR_WIDTH_STRONG' undeclared here (not in a function)
> | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
> | ^
> | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT'
> | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> | ^~~~~~~~~
> | ../../fontconfig-2.12.1/src/fcmatch.c:324:84: error: 'PRI_CHAR_WIDTH_WEAK' undeclared here (not in a function)
> | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
> | ^
> | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT'
> | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> | ^~~~~~~~~
> | make[3]: *** [Makefile:632: fcmatch.lo] Error 1
>
> (From OE-Core rev: 3575826752e7140da493c7f560fb5fcf483fc9b4)
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
merged.
thanks
- armin
> ---
> ...icts-with-integer-width-macros-from-TS-18.patch | 72 ++++++++++++++++++++++
> .../fontconfig/fontconfig_2.12.1.bb | 1 +
> 2 files changed, 73 insertions(+)
> create mode 100644 meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
>
> diff --git a/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch b/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> new file mode 100644
> index 00000000000..cad71707adc
> --- /dev/null
> +++ b/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> @@ -0,0 +1,72 @@
> +From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 11 Dec 2016 14:32:00 -0800
> +Subject: [PATCH] Avoid conflicts with integer width macros from TS
> + 18661-1:2014
> +
> +glibc 2.25+ has now defined these macros in <limits.h>
> +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +Upstream-Status: Submitted
> +
> + fontconfig/fontconfig.h | 2 +-
> + src/fcobjs.h | 2 +-
> + src/fcobjshash.gperf | 2 +-
> + src/fcobjshash.h | 2 +-
> + 4 files changed, 4 insertions(+), 4 deletions(-)
> +
> +Index: fontconfig-2.12.1/fontconfig/fontconfig.h
> +===================================================================
> +--- fontconfig-2.12.1.orig/fontconfig/fontconfig.h
> ++++ fontconfig-2.12.1/fontconfig/fontconfig.h
> +@@ -128,7 +128,8 @@ typedef int FcBool;
> + #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
> +
> + /* Adjust outline rasterizer */
> +-#define FC_CHAR_WIDTH "charwidth" /* Int */
> ++#define FC_CHARWIDTH "charwidth" /* Int */
> ++#define FC_CHAR_WIDTH FC_CHARWIDTH
> + #define FC_CHAR_HEIGHT "charheight"/* Int */
> + #define FC_MATRIX "matrix" /* FcMatrix */
> +
> +Index: fontconfig-2.12.1/src/fcobjs.h
> +===================================================================
> +--- fontconfig-2.12.1.orig/src/fcobjs.h
> ++++ fontconfig-2.12.1/src/fcobjs.h
> +@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL)
> + FC_OBJECT (RGBA, FcTypeInteger, NULL)
> + FC_OBJECT (SCALE, FcTypeDouble, NULL)
> + FC_OBJECT (MINSPACE, FcTypeBool, NULL)
> +-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> ++FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
> + FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
> + FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
> + FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
> +Index: fontconfig-2.12.1/src/fcobjshash.gperf
> +===================================================================
> +--- fontconfig-2.12.1.orig/src/fcobjshash.gperf
> ++++ fontconfig-2.12.1/src/fcobjshash.gperf
> +@@ -44,7 +44,7 @@ int id;
> + "rgba",FC_RGBA_OBJECT
> + "scale",FC_SCALE_OBJECT
> + "minspace",FC_MINSPACE_OBJECT
> +-"charwidth",FC_CHAR_WIDTH_OBJECT
> ++"charwidth",FC_CHARWIDTH_OBJECT
> + "charheight",FC_CHAR_HEIGHT_OBJECT
> + "matrix",FC_MATRIX_OBJECT
> + "charset",FC_CHARSET_OBJECT
> +Index: fontconfig-2.12.1/src/fcobjshash.h
> +===================================================================
> +--- fontconfig-2.12.1.orig/src/fcobjshash.h
> ++++ fontconfig-2.12.1/src/fcobjshash.h
> +@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char
> + {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
> + {-1},
> + #line 47 "fcobjshash.gperf"
> +- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
> ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
> + #line 48 "fcobjshash.gperf"
> + {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
> + #line 55 "fcobjshash.gperf"
> diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> index 115f558eefa..8616154c616 100644
> --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> @@ -22,6 +22,7 @@ DEPENDS = "expat freetype zlib"
>
> SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
> file://revert-static-pkgconfig.patch \
> + file://0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch \
> "
> SRC_URI[md5sum] = "ce55e525c37147eee14cc2de6cc09f6c"
> SRC_URI[sha256sum] = "a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292"
More information about the Openembedded-core
mailing list