Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExtUtils-MakeMaker in perl 5.28 armv5te fails #16828

Open
p5pRT opened this issue Jan 28, 2019 · 19 comments
Open

ExtUtils-MakeMaker in perl 5.28 armv5te fails #16828

p5pRT opened this issue Jan 28, 2019 · 19 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 28, 2019

Migrated from rt.perl.org#133803 (status was 'open')

Searchable as RT133803$

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

From rob@allenonline.me.uk

Created by rob@allenonline.me.uk

Any attempt to access CPAN on ArchlinuxArm on armv5te processors results in​:

"Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the
ExtUtils​::MakeMaker​::version​::vpp module) (@​INC contains​: /usr/lib/perl5/5.28/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.28/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.28/core_perl /usr/share/perl5/core_perl) at (eval 14) line 1."

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1' which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in
use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

A number of us have hit this problem​:

https://archlinuxarm.org/forum/viewtopic.php?f=57&t=13134

Perl Info

Flags:
    category=core
    severity=high

Site configuration information for perl 5.28.1:

Configured by builduser at Fri Dec  7 10:49:39 UTC 2018.

Summary of my perl5 (revision 5 version 28 subversion 1) configuration:
   
  Platform:
    osname=linux
    osvers=4.14.73-1-arch
    archname=armv5tel-linux-thread-multi
    uname='linux leming 4.14.73-1-arch #1 smp preempt tue oct 2 00:44:19 utc 2018 armv5tel gnulinux '
    config_args='-des -Dusethreads -Duseshrplib -Doptimize=-march=armv5te -O2 -pipe -fstack-protector-strong -fno-plt -Dprefix=/usr -Dvendorprefix=/usr -Dprivlib=/usr/share/perl5/core_perl -Darchlib=/usr/lib/perl5/5.28/core_perl -Dsitelib=/usr/share/perl5/site_perl -Dsitearch=/usr/lib/perl5/5.28/site_perl -Dvendorlib=/usr/share/perl5/vendor_perl -Dvendorarch=/usr/lib/perl5/5.28/vendor_perl -Dscriptdir=/usr/bin/core_perl -Dsitescript=/usr/bin/site_perl -Dvendorscript=/usr/bin/vendor_perl -Dinc_version_list=none -Dman1ext=1perl -Dman3ext=3perl -Dlddlflags=-shared -Wl,-O1,--sort-common,--as-needed,-z,relro -Dldflags=-Wl,-O1,--sort-common,--as-needed,-z,relro'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=undef
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-march=armv5te -O2 -pipe -fstack-protector-strong -fno-plt'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='8.2.0'
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=4
    doublesize=8
    byteorder=1234
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=8
    longdblkind=0
    ivtype='long'
    ivsize=4
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags ='-Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/armv5tel-unknown-linux-gnueabi/8.2.0/include-fixed /usr/lib /lib
    libs=-lpthread -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.28.so
    so=so
    useshrplib=true
    libperl=libperl.so
    gnulibc_version='2.28'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.28/core_perl/CORE'
    cccdlflags='-fPIC'
    lddlflags='-shared -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -fstack-protector-strong'



@INC for perl 5.28.1:
    /usr/lib/perl5/5.28/site_perl
    /usr/share/perl5/site_perl
    /usr/lib/perl5/5.28/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib/perl5/5.28/core_perl
    /usr/share/perl5/core_perl


Environment for perl 5.28.1:
    HOME=/home/rob
    LANG=C
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

From @jkeenan

On Mon, 28 Jan 2019 12​:52​:14 GMT, rob@​allenonline.me.uk wrote​:

[Reformatting so that content displays better in RT -- jkeenan]

Any attempt to access CPAN on ArchlinuxArm on armv5te processors results in​:

"Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the
ExtUtils​::MakeMaker​::version​::vpp module) (@​INC contains​: /usr/lib/perl5/5.28/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.28/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.28/core_perl /usr/share/perl5/core_perl) at (eval 14) line 1."

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1' which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

A number of us have hit this problem​:

https://archlinuxarm.org/forum/viewtopic.php?f=57&t=13134

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

@jkeenan - Status changed from 'open' to 'new'

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

From @Leont

On Mon, Jan 28, 2019 at 6​:07 PM James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Mon, 28 Jan 2019 12​:52​:14 GMT, rob@​allenonline.me.uk wrote​:

[Reformatting so that content displays better in RT -- jkeenan]

Any attempt to access CPAN on ArchlinuxArm on armv5te processors results in​:

"Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the
ExtUtils​::MakeMaker​::version​::vpp module) (@​INC contains​: /usr/lib/perl5/5.28/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.28/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.28/core_perl /usr/share/perl5/core_perl) at (eval 14) line 1."

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1' which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

A number of us have hit this problem​:

https://archlinuxarm.org/forum/viewtopic.php?f=57&t=13134

Can you apply the patch at
https://perl5.git.perl.org/perl.git/patch/d6139ec4a9065ae249ab512398326a70dfb2fea2,
and tell us if that solves your problem?

Leon

@p5pRT
Copy link
Author

p5pRT commented Jan 28, 2019

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 29, 2019

From robertallen2.uk@googlemail.com

Hi Leon,

I'm really out of my depth now because I don't know how to do patches.

This https://metacpan.org/pod/distribution/PerlPowerTools/bin/patch says it should just be​:**patch <patchfile

but I can't work out which lines of that link you sent are actually the patch file.

Rob

On 28/01/2019 22​:40, Leon Timmermans via RT wrote​:

On Mon, Jan 28, 2019 at 6​:07 PM James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Mon, 28 Jan 2019 12​:52​:14 GMT, rob@​allenonline.me.uk wrote​:
[Reformatting so that content displays better in RT -- jkeenan]

Any attempt to access CPAN on ArchlinuxArm on armv5te processors results in​:

"Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the
ExtUtils​::MakeMaker​::version​::vpp module) (@​INC contains​: /usr/lib/perl5/5.28/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.28/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.28/core_perl /usr/share/perl5/core_perl) at (eval 14) line 1."

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1' which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

A number of us have hit this problem​:

https://archlinuxarm.org/forum/viewtopic.php?f=57&t=13134
Can you apply the patch at
https://perl5.git.perl.org/perl.git/patch/d6139ec4a9065ae249ab512398326a70dfb2fea2,
and tell us if that solves your problem?

Leon

@p5pRT
Copy link
Author

p5pRT commented Feb 2, 2019

From robertallen2.uk@googlemail.com

On 28/01/2019 22​:40, Leon Timmermans via RT wrote​:

On Mon, Jan 28, 2019 at 6​:07 PM James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Mon, 28 Jan 2019 12​:52​:14 GMT, rob@​allenonline.me.uk wrote​:
[Reformatting so that content displays better in RT -- jkeenan]

Any attempt to access CPAN on ArchlinuxArm on armv5te processors results in​:

"Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the
ExtUtils​::MakeMaker​::version​::vpp module) (@​INC contains​: /usr/lib/perl5/5.28/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.28/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.28/core_perl /usr/share/perl5/core_perl) at (eval 14) line 1."

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1' which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

A number of us have hit this problem​:

https://archlinuxarm.org/forum/viewtopic.php?f=57&t=13134
Can you apply the patch at
https://perl5.git.perl.org/perl.git/patch/d6139ec4a9065ae249ab512398326a70dfb2fea2,
and tell us if that solves your problem?

Leon

Hi Leon,

I've applied the patch to perl perl-5.28.1

run configure​: ./Configure -des -Dprefix=/opt/perl-5.28.1-LMS -Dusethreads

run make and it still fails​:

Can't locate ExtUtils/MakeMaker/version/vpp.pm in @​INC (you may need to install the ExtUtils​::MakeMaker​::version​::vpp module)

BEGIN failed--compilation aborted at /media/usb/repository/software/logitechmediaserver/perl-5.28.1/perl-5.28.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 10.
Compilation failed in require at Makefile.PL line 7.
BEGIN failed--compilation aborted at Makefile.PL line 7.
Unsuccessful Makefile.PL(cpan/Archive-Tar)​: code=512 at make_ext.pl line 518.
make​: *** [makefile​:588​: cpan/Archive-Tar/pm_to_blib] Error 2

Rob

@p5pRT
Copy link
Author

p5pRT commented Feb 6, 2019

From @tonycoz

On Mon, 28 Jan 2019 04​:52​:14 -0800, rob@​allenonline.me.uk wrote​:

Maintainer of ExtUtils​::MakeMaker suggested this test 'perl -Mversion -e1'
which gives​:

"Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in
use at /usr/share/perl5/core_perl/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted."

That checks your system perl, but for a perl build you need to check the bundled modules with the perl you're building.

Inside the perl build directory please run​:

  ./miniperl -Mversion -e0

Please include everything that outputs if it fails.

This uses miniperl, since that's what make_ext.pl will be using. It skips adding -Ilib since lib/buildcustomize.pl should have been built at this point and miniperl will load that.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jun 25, 2019

From aaro.koskinen@iki.fi

On Tue, 05 Feb 2019 20​:18​:43 -0800, tonyc wrote​:

Inside the perl build directory please run​:

./miniperl -Mversion -e0

Please include everything that outputs if it fails.

I have this same issue when trying to build stock 5.28 (or .30) Perl on armv5tel (Linux v5.1, GCC 8.3.0, glibc 2.29).

perl-5.30.0$ ./miniperl -I./cpan/version/lib -I./lib -Mversion -e0
Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR ref while "strict refs" in use at cpan/version/lib/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted.

@p5pRT
Copy link
Author

p5pRT commented Jun 30, 2019

From aaro.koskinen@iki.fi

On Tue, 25 Jun 2019 15​:27​:08 -0700, aaro.koskinen@​iki.fi wrote​:

On Tue, 05 Feb 2019 20​:18​:43 -0800, tonyc wrote​:

Inside the perl build directory please run​:

./miniperl -Mversion -e0

Please include everything that outputs if it fails.

I have this same issue when trying to build stock 5.28 (or .30) Perl
on armv5tel (Linux v5.1, GCC 8.3.0, glibc 2.29).

perl-5.30.0$ ./miniperl -I./cpan/version/lib -I./lib -Mversion -e0
Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR
ref while "strict refs" in use at cpan/version/lib/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted.

This issue seems to be caused by wrong alignment causing unexpected behaviour. Running Configure with -Dd_u32align makes the build succeed.

The Configure alignment test produces wrong result for ARMv5t with modern GCC​:

  Checking to see whether you can access character data unalignedly...
  (Testing for character data alignment may crash the test. That's okay.)
  You can access character data pretty unalignedly.

The issue is seen on other platforms as well, e.g. SPARC (see #133495) and PA-RISC, where miniperl fails with SIGBUS.

@p5pRT
Copy link
Author

p5pRT commented Jul 4, 2019

From rob@allenonline.me.uk

On 30/06/2019 23​:27, Aaro Koskinen via RT wrote​:

On Tue, 25 Jun 2019 15​:27​:08 -0700, aaro.koskinen@​iki.fi wrote​:

On Tue, 05 Feb 2019 20​:18​:43 -0800, tonyc wrote​:

Inside the perl build directory please run​:

./miniperl -Mversion -e0

Please include everything that outputs if it fails.
I have this same issue when trying to build stock 5.28 (or .30) Perl
on armv5tel (Linux v5.1, GCC 8.3.0, glibc 2.29).

perl-5.30.0$ ./miniperl -I./cpan/version/lib -I./lib -Mversion -e0
Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR
ref while "strict refs" in use at cpan/version/lib/version.pm line 21.
Compilation failed in require.
BEGIN failed--compilation aborted.
This issue seems to be caused by wrong alignment causing unexpected behaviour. Running Configure with -Dd_u32align makes the build succeed.

The Configure alignment test produces wrong result for ARMv5t with modern GCC​:

 Checking to see whether you can access character data unalignedly\.\.\.
 \(Testing for character data alignment may crash the test\.  That's okay\.\)
 You can access character data pretty unalignedly\.

The issue is seen on other platforms as well, e.g. SPARC (see #133495) and PA-RISC, where miniperl fails with SIGBUS.

Well done Aaro Koskinen for figuring out this solution. By using it I've successfully run perl-5.30.0 through Configure; make; make test and make install.

@p5pRT
Copy link
Author

p5pRT commented Jul 9, 2019

From @tonycoz

On Sun, 30 Jun 2019 15​:27​:55 -0700, aaro.koskinen@​iki.fi wrote​:

On Tue, 25 Jun 2019 15​:27​:08 -0700, aaro.koskinen@​iki.fi wrote​:

On Tue, 05 Feb 2019 20​:18​:43 -0800, tonyc wrote​:

Inside the perl build directory please run​:

./miniperl -Mversion -e0

Please include everything that outputs if it fails.

I have this same issue when trying to build stock 5.28 (or .30) Perl
on armv5tel (Linux v5.1, GCC 8.3.0, glibc 2.29).

perl-5.30.0$ ./miniperl -I./cpan/version/lib -I./lib -Mversion -e0
Can't use string ("version​::regex​::LAX_DOTTED_DECIM"...) as a SCALAR
ref while "strict refs" in use at cpan/version/lib/version.pm line
21.
Compilation failed in require.
BEGIN failed--compilation aborted.

This issue seems to be caused by wrong alignment causing unexpected
behaviour. Running Configure with -Dd_u32align makes the build
succeed.

The Configure alignment test produces wrong result for ARMv5t with
modern GCC​:

Checking to see whether you can access character data unalignedly...
(Testing for character data alignment may crash the test. That's
okay.)
You can access character data pretty unalignedly.

The issue is seen on other platforms as well, e.g. SPARC (see #133495)
and PA-RISC, where miniperl fails with SIGBUS.

There's a few problems between the test code in Configure, the assumptions made in hv_macro.h, and in the implementation in gcc.

Firstly the test code in Configure.

ARMv5 is pretty strange[1] when reading from unaligned addresses, instead of throwing an exception or reading the four bytes (for 32-bit reads) starting from the specified address, it reads from the address with the bottom two bits masked off, then uses those two bits as a rotate count (in multiples of 8).

On writes it simply ignores the bottom two bits.

This would mean that the read test code in the probe might get a false success.

The write code should however reject it, assuming the optimiser didn't intervene.

The other major problem is the optimiser acting as if the unaligned access behaved like x86 (ignoring endianess), and optimising out the test, not just on ARM.[2]

We could modify the test to detect the ARMv5 read strangeness, and maybe make the write test more robust, since if writes on ARMv5 behaved like the inverse of reads, we'd have brokenly accepted ARMv5 as allowing unaligned access, even without the intervention of the optimiser.

The other fix to be done here is working around the optimiser, which I suspect will be a race between ours and the compiler writer's ingenuity.

Secondly, the code in hv_macro.h

The probe in Configure only checks for 32-bit unaligned access, but the code in hv_macro.h assumes that this applies also to 64-bit accesses, which might not be the case.

This would need to be fixed by a separate 64-bit probe.

Thirdly, the code generated.

At least in 2010 the code generated for __builtin_bswap() on older ARM was fairly horrible[3], the fallback code might be preferable. Detecting this at Configure or compilation time might be difficult though (maybe nm on a test .o to see if __bswapdi2() is being referenced.)

Tony

[1] https://heyrick.eu/aw/index.php?title=Unaligned_data_access#ARM_v5_and_earlier

[2] Since access to unaligned addresses produces undefined behaviour, gcc is doing nothing wrong here.

[3] https://hardwarebug.org/2010/01/14/beware-the-builtins/

@p5pRT
Copy link
Author

p5pRT commented Sep 3, 2019

From alland@drassal.net

I can confirm this also. I am working with Gentoo Linux on a GlobalScale DreamPlug.
I am running a armv5tel-softfloat-linux-gnueabi architecture.
This is still present in version 5.30.0.

On Gentoo this is a little more of a hassle since it uses the portage package manager, the configure options are a little more difficult to get at.
On Gentoo Linux you can successfully emerge with the below command.
EXTRA_ECONF="-Dd_u32align" emerge -av —oneshot perl

I temporarily edited the ebuild file and added the -Dd_u32align to the configure command, however, it would be good if this is fixed upstream.
If multiple packages are being emerged, it is difficult to use the above EXTRA_ECONF command as other packages will complain about unknown config options being added, therefor editing the ebuild was necessary.

In the ebuild, I can see an exception already made for some things such as the below... in the /usr/portage/dev-lang/perl/perl-5.30.0.ebuild file, line 474.
  # fix unaligned access misdetection
  # https://rt.perl.org/Public/Bug/Display.html?id=133495
  [[ ${CHOST} == sparc*-solaris* ]] && myconf "-Dd_u32align='define'"

For the temporary fix I added " -Dd_u32align \" in /usr/portage/dev-lang/perl/perl-5.30.0.ebuild at line 513 so it was added to the configure options.

It would be nice if there was more of a permanent fix made upstream for Gentoo users.

Thank you for those who came up with the above temporary solution! I was almost tearing my hair out trying to figure this out!

@p5pRT
Copy link
Author

p5pRT commented Sep 3, 2019

From alland@drassal.net

I am appending the output of emerge --info
This should give an idea of the setup, the kernel was compiled about 6 years ago, something that I am in the process of fixing.
I should also note, this is a system I am trying to update after 6 years of being offline.

Portage 2.3.69 (python 2.7.15-final-0, default/linux/arm/17.0, gcc-8.3.0, glibc-2.29-r2, 3.2.5-dreamplug armv5tel)

System uname​: Linux-3.2.5-dreamplug-armv5tel-with-gentoo-2.6
KiB Mem​: 513668 total, 50840 free
KiB Swap​: 1048572 total, 1005628 free
Timestamp of repository gentoo​: Wed, 21 Aug 2019 15​:30​:01 +0000
Head commit of repository gentoo​: cdda9adf72b626d020a063419c1f376755d1b456
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
distcc 3.1 armv5tel-softfloat-linux-gnueabi [disabled]
app-shells/bash​: 4.4_p23-r1​::gentoo
dev-lang/perl​: 5.30.0​::gentoo
dev-lang/python​: 2.7.15​::gentoo, 3.6.5​::gentoo
dev-util/pkgconfig​: 0.29.2​::gentoo
sys-apps/baselayout​: 2.6-r1​::gentoo
sys-apps/openrc​: 0.41.2​::gentoo
sys-apps/sandbox​: 2.13​::gentoo
sys-devel/autoconf​: 2.69​::gentoo
sys-devel/automake​: 1.12.6​::gentoo, 1.15.1-r2​::gentoo
sys-devel/binutils​: 2.22-r1​::gentoo, 2.32-r1​::gentoo
sys-devel/gcc​: 4.6.3​::gentoo, 8.3.0-r1​::gentoo
sys-devel/gcc-config​: 2.0​::gentoo
sys-devel/libtool​: 2.4.6-r3​::gentoo
sys-devel/make​: 4.2.1-r4​::gentoo
sys-kernel/linux-headers​: 4.19​::gentoo (virtual/os-headers)
sys-libs/glibc​: 2.29-r2​::gentoo
Repositories​:

gentoo
  location​: /usr/portage
  sync-type​: rsync
  sync-uri​: rsync​://rsync.gentoo.org/gentoo-portage
  priority​: -1000
  sync-rsync-verify-jobs​: 1
  sync-rsync-verify-metamanifest​: yes
  sync-rsync-extra-opts​:
  sync-rsync-verify-max-age​: 24

x-portage
  location​: /usr/local/portage
  masters​: gentoo
  priority​: 0

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@​FREE"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-Os -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-Os -march=armv5te -pipe"
DISTDIR="/tmp"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http​://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/tmp"
USE="acl arm bash-completion berkdb bzip2 cli crypt cxx dri fortran fuse gdbm iconv ipv6 ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl svg tcpd unicode usb vim-syntax xattr zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset​: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

@p5pRT
Copy link
Author

p5pRT commented Sep 3, 2019

From [Unknown Contact. See original ticket]

I am appending the output of emerge --info
This should give an idea of the setup, the kernel was compiled about 6 years ago, something that I am in the process of fixing.
I should also note, this is a system I am trying to update after 6 years of being offline.

Portage 2.3.69 (python 2.7.15-final-0, default/linux/arm/17.0, gcc-8.3.0, glibc-2.29-r2, 3.2.5-dreamplug armv5tel)

System uname​: Linux-3.2.5-dreamplug-armv5tel-with-gentoo-2.6
KiB Mem​: 513668 total, 50840 free
KiB Swap​: 1048572 total, 1005628 free
Timestamp of repository gentoo​: Wed, 21 Aug 2019 15​:30​:01 +0000
Head commit of repository gentoo​: cdda9adf72b626d020a063419c1f376755d1b456
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
distcc 3.1 armv5tel-softfloat-linux-gnueabi [disabled]
app-shells/bash​: 4.4_p23-r1​::gentoo
dev-lang/perl​: 5.30.0​::gentoo
dev-lang/python​: 2.7.15​::gentoo, 3.6.5​::gentoo
dev-util/pkgconfig​: 0.29.2​::gentoo
sys-apps/baselayout​: 2.6-r1​::gentoo
sys-apps/openrc​: 0.41.2​::gentoo
sys-apps/sandbox​: 2.13​::gentoo
sys-devel/autoconf​: 2.69​::gentoo
sys-devel/automake​: 1.12.6​::gentoo, 1.15.1-r2​::gentoo
sys-devel/binutils​: 2.22-r1​::gentoo, 2.32-r1​::gentoo
sys-devel/gcc​: 4.6.3​::gentoo, 8.3.0-r1​::gentoo
sys-devel/gcc-config​: 2.0​::gentoo
sys-devel/libtool​: 2.4.6-r3​::gentoo
sys-devel/make​: 4.2.1-r4​::gentoo
sys-kernel/linux-headers​: 4.19​::gentoo (virtual/os-headers)
sys-libs/glibc​: 2.29-r2​::gentoo
Repositories​:

gentoo
  location​: /usr/portage
  sync-type​: rsync
  sync-uri​: rsync​://rsync.gentoo.org/gentoo-portage
  priority​: -1000
  sync-rsync-verify-jobs​: 1
  sync-rsync-verify-metamanifest​: yes
  sync-rsync-extra-opts​:
  sync-rsync-verify-max-age​: 24

x-portage
  location​: /usr/local/portage
  masters​: gentoo
  priority​: 0

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@​FREE"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-Os -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-Os -march=armv5te -pipe"
DISTDIR="/tmp"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http​://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/tmp"
USE="acl arm bash-completion berkdb bzip2 cli crypt cxx dri fortran fuse gdbm iconv ipv6 ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl svg tcpd unicode usb vim-syntax xattr zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset​: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

@p5pRT
Copy link
Author

p5pRT commented Sep 7, 2019

From mattst88@gmail.com

I suspect my fix attached in https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133495 fixes this as well.

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2019

From mattst88@gmail.com

On Sat, 07 Sep 2019 13​:12​:16 -0700, mattst88@​gmail.com wrote​:

I suspect my fix attached in
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133495 fixes this as well.

Those commits are now in as

https://perl5.git.perl.org/perl.git/commit/ee9ac1cd8eb988fea70841eae211b11355711416
https://perl5.git.perl.org/perl.git/commit/e8864dba80952684bf3afe83438d4eee0c3939a9

and should be in the 5.32 release.

This is presumably fixed now.

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2019

From @tonycoz

On Tue, 08 Oct 2019 13​:22​:44 -0700, mattst88@​gmail.com wrote​:

On Sat, 07 Sep 2019 13​:12​:16 -0700, mattst88@​gmail.com wrote​:

I suspect my fix attached in
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133495 fixes this as well.

Those commits are now in as

https://perl5.git.perl.org/perl.git/commit/ee9ac1cd8eb988fea70841eae211b11355711416
https://perl5.git.perl.org/perl.git/commit/e8864dba80952684bf3afe83438d4eee0c3939a9

and should be in the 5.32 release.

This is presumably fixed now.

That seems likely, could someone who's seeing this problem test this please?

Thanks

gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Aug 11, 2020
As its been indicated that this detection has been fixed upstream in
perl since 5.31.5, and the workaround should no longer be needed

Bug: https://bugs.gentoo.org/676062
Bug: https://bugs.gentoo.org/688432
Bug: Perl/perl5#16828
Bug: Perl/perl5#16680
Commit: Perl/perl5@ee9ac1c
Commit: Perl/perl5@e8864db
Package-Manager: Portage-2.3.103, Repoman-2.3.22
Signed-off-by: Kent Fredric <kentnl@gentoo.org>
@xenu xenu removed the Severity Low label Dec 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants