[OE-core] [PATCH] Perl: Use CC version not $Config(gccversion)

Jens Rehsack rehsack at gmail.com
Sun Oct 25 18:43:42 UTC 2015


> Am 25.10.2015 um 00:17 schrieb Jeremy Puhlman <jpuhlman at mvista.com>:
> 
> 
> On Oct 24, 2015 5:15 AM, "Jens Rehsack" <rehsack at gmail.com> wrote:
> >
> >
> > > Am 23.10.2015 um 19:18 schrieb Jeremy Puhlman <jpuhlman at mvista.com>:
> > >
> > > Get version data from querying $CC rather then
> > > $Config(gccversion) which comes from running version of
> > > perl. Since perl-native is not likely compiled by gcc
> > > 5 at this point, it will never trigger the required
> > > fixes for gcc 5.
> > >
> > > [YOCTO #8367]
> > >
> > > Signed-off-by: Jeremy Puhlman <jpuhlman at mvista.com>
> > > ---
> > > .../perl/perl/perl-errno-generation-gcc5.patch     | 23 ++++++++++++++++++++++
> > > meta/recipes-devtools/perl/perl_5.22.0.bb          |  1 +
> > > 2 files changed, 24 insertions(+)
> > > create mode 100644 meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
> > >
> > > diff --git a/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
> > > new file mode 100644
> > > index 0000000..efbc55d
> > > --- /dev/null
> > > +++ b/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
> > > @@ -0,0 +1,23 @@
> > > +Upstream-Status:Inappropriate [embedded specific]
> >
> > Did you ask p5-porters?
> >
> > I strongly suggest to open an RT for 2 reasons:
> >
> > 1) Let the people know that I'm not the only one encountering problems with the way they deal situation
> 
> Yeah we have been having fun cross compiling perl since 2000, lots of fun.
> 
> > 2) Those tickets enlighten over time.
> >
> > Cross-compiling is not restricted to embedded.
> >
> > The patch self looks more than sane and I'm happy to support it when reported (so tell me the ticket number or put me on CC when creating the ticket).
> 
> Is there a specific mailing list?

Kind-of, see https://rt.perl.org and use perlbug (http://perldoc.perl.org/perlbug.html)

> > > +The upstream code assumes that the compiler version used to compiler miniperl/perl-native
> > > +is the same as the one being used to build the perl binary. Since most people are not running
> > > +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 @@
> > > +
> > > +     {       # BeOS (support now removed) did not enter this block
> > > +     # invoke CPP and read the output
> > > ++        my $compiler = $ENV{'CC'};
> > > ++        my $compiler_out = `$compiler --version`;
> > > ++        my @compiler_version = split / /,$compiler_out;
> > > +
> > > +     my $inhibit_linemarkers = '';
> > > +-    if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
> > > ++    if (@compiler_version[2] =~ /\A(\d+)\./ and $1 >= 5) {
> > > +         # GCC 5.0 interleaves expanded macros with line numbers breaking
> > > +         # each line into multiple lines. RT#123784
> > > +         $inhibit_linemarkers = ' -P';
> > > diff --git a/meta/recipes-devtools/perl/perl_5.22.0.bb b/meta/recipes-devtools/perl/perl_5.22.0.bb
> > > index 3ce7849..66e074d 100644
> > > --- a/meta/recipes-devtools/perl/perl_5.22.0.bb
> > > +++ b/meta/recipes-devtools/perl/perl_5.22.0.bb
> > > @@ -62,6 +62,7 @@ SRC_URI += " \
> > >         file://ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch \
> > >         file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \
> > >         file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
> > > +        file://perl-errno-generation-gcc5.patch \
> > > "
> > >
> > > # Fix test case issues

-- 
Jens Rehsack - rehsack at gmail.com




More information about the Openembedded-core mailing list