[OE-core] [PATCH 1/1] perl: fix spaces in brackets while using CC version

Hongxu Jia hongxu.jia at windriver.com
Mon Nov 9 10:48:29 UTC 2015


Here is the way to reproduce the issue:
...
root at localhost:~# perl -e "use Errno qw(ENOENT);"
"ENOENT" is not exported by the Errno module
Can't continue after import errors at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
...

For some distros, there was extra spaces in the
brackets while using CC version:

For Windriver:
$CC --version
x86_64-wrs-linux-gcc (Wind River Linux 5.2.0-8.0-intel-x86-64) 5.2.0

For Ubuntu:
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

So we replace the contects between brackets with semicolon
and then use space to split.

[YOCTO #8367]

Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
---
 .../perl/perl/perl-errno-generation-gcc5.patch       | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
index efbc55d..7379d8b 100644
--- a/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
+++ b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
@@ -5,14 +5,25 @@ is the same as the one being used to build the perl binary. Since most people ar
 systems with gcc 5, it is unlikely that it will work on any supported host. Switch out gccversion
 for the version extracted from $CC --version.
 
---- perl-5.22.0/ext/Errno/Errno_pm.PL	2015-10-19 18:01:20.622143786 -0400
-+++ perl-5.22.0-fixed/ext/Errno/Errno_pm.PL	2015-10-19 17:50:35.662137367 -0400
-@@ -224,9 +224,12 @@
+Jeremy Puhlman <jpuhlman at mvista.com>
+
+Fix spaces in brackets while running $CC --version
+Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
+---
+ ext/Errno/Errno_pm.PL | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
+index 1fd29d0..7976ea2 100644
+--- a/ext/Errno/Errno_pm.PL
++++ b/ext/Errno/Errno_pm.PL
+@@ -224,9 +224,13 @@ sub write_errno_pm {
  
      {	# BeOS (support now removed) did not enter this block
      # invoke CPP and read the output
 +        my $compiler = $ENV{'CC'};
 +        my $compiler_out = `$compiler --version`;
++        $compiler_out =~ s/\(.*\)/;/;
 +        my @compiler_version = split / /,$compiler_out; 
  
  	my $inhibit_linemarkers = '';
@@ -21,3 +32,6 @@ for the version extracted from $CC --version.
  	    # GCC 5.0 interleaves expanded macros with line numbers breaking
  	    # each line into multiple lines. RT#123784
  	    $inhibit_linemarkers = ' -P';
+-- 
+1.9.1
+
-- 
1.9.1




More information about the Openembedded-core mailing list