[OE-core] [PATCH 1/1] libgcrypt: fix compile error with '-O2' in sysroot path

Saul Wold sgw at linux.intel.com
Thu Dec 5 22:41:30 UTC 2013


On 12/05/2013 12:55 AM, Qi.Chen at windriver.com wrote:
> From: Chen Qi <Qi.Chen at windriver.com>
>
> Characters like '-O2' or '-Ofast' will be replaced by '-O1' when
> compiling cipher. If we are cross compiling libgcrypt and sysroot
> contains such characters, we would get compile errors because the
> sysroot path has been modified.
>
> Fix this by adding whitespaces before and after the original matching
> pattern in the sed command.
>
> [YOCTO #5628]
>
> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> ---
>   ...fix-compile-error-with-O2-in-sysroot-path.patch |   46 ++++++++++++++++++++
>   meta/recipes-support/libgcrypt/libgcrypt.inc       |    3 +-
>   2 files changed, 48 insertions(+), 1 deletion(-)
>   create mode 100644 meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
>
> diff --git a/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch b/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
> new file mode 100644
> index 0000000..6b1f119
> --- /dev/null
> +++ b/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
> @@ -0,0 +1,46 @@
> +Upstream-Status: Pending
> +
> +libgcrypt: fix building error with '-O2' in sysroot path
> +
> +Characters like '-O2' or '-Ofast' will be replaced by '-O1' when compiling cipher.
> +If we are cross compiling libgcrypt and sysroot contains such characters, we would
> +get compile errors because the sysroot path has been modified.
> +
> +Fix this by adding blank spaces before and after the original matching pattern in the
> +sed command.
> +
> +Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> +---
> + cipher/Makefile.am |    2 +-
> + cipher/Makefile.in |    2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/cipher/Makefile.am b/cipher/Makefile.am
> +index 76cdc96..9a89792 100644
> +--- a/cipher/Makefile.am
> ++++ b/cipher/Makefile.am
> +@@ -69,7 +69,7 @@ rfc2268.c \
> + camellia.c camellia.h camellia-glue.c
> +
> + if ENABLE_O_FLAG_MUNGING
> +-o_flag_munging = sed -e 's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
> ++o_flag_munging = sed -e 's/ -O\([2-9s][2-9s]*\) / -O1 /' -e 's/ -Ofast / -O1 /g'
> + else
> + o_flag_munging = cat
> + endif
> +diff --git a/cipher/Makefile.in b/cipher/Makefile.in
> +index 1394d15..6080d59 100644
> +--- a/cipher/Makefile.in
> ++++ b/cipher/Makefile.in

Why do we need to patch Makefile.in if we are already patching the 
Makefile.am which will re-generate the Makefile.in

Sau!

> +@@ -314,7 +314,7 @@ rfc2268.c \
> + camellia.c camellia.h camellia-glue.c
> +
> + @ENABLE_O_FLAG_MUNGING_FALSE at o_flag_munging = cat
> +- at ENABLE_O_FLAG_MUNGING_TRUE@o_flag_munging = sed -e 's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
> ++ at ENABLE_O_FLAG_MUNGING_TRUE@o_flag_munging = sed -e 's/ -O\([2-9s][2-9s]*\) / -O1 /' -e 's/ -Ofast / -O1 /g'
> + all: all-am
> +
> + .SUFFIXES:
> +--
> +1.7.9.5
> +
> diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc
> index e0dfec2..9383e17 100644
> --- a/meta/recipes-support/libgcrypt/libgcrypt.inc
> +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc
> @@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
>   DEPENDS = "libgpg-error libcap"
>
>   SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz \
> -           file://add-pkgconfig-support.patch"
> +           file://add-pkgconfig-support.patch \
> +           file://fix-compile-error-with-O2-in-sysroot-path.patch"
>
>   inherit autotools binconfig pkgconfig
>
>



More information about the Openembedded-core mailing list