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

Richard Purdie richard.purdie at linuxfoundation.org
Tue Dec 10 11:37:43 UTC 2013


On Fri, 2013-12-06 at 09:30 +0800, ChenQi wrote:
> On 12/06/2013 06:41 AM, Saul Wold wrote:
> > 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!
> >
> 
> I thought it would do no harm. And I will send this patch to upstream, 
> so it might be a little strange that I only modify the Makefile.am file 
> even if Makefile.in has the same problem.

It can actually be harmful since the modification time of Makefile.in
can be after the time for Makefile.am and things can go "very wrong"
with autotools when that happens :(

Cheers,

Richard




More information about the Openembedded-core mailing list