Closed zsan closed 3 years ago
@zsan Could you update your perl-build in .plenv/plugins first?
@charsbar
But i think i am with the latest perl-build, i've just clone perl-build few minutes ago.
Just to update,
I think it fails randomly
$ wget --version
$ curl --version
$ /usr/bin/perl -V
$ /usr/bin/perl -MHTTP::Tiny\ 99999999
$ /usr/bin/perl -MIO::Socket::SSL\ 99999999
$ /usr/bin/perl -MNet::SSLeay\ 99999999
$ /usr/bin/perl -MLWP::UserAgent\ 9999999
$ /usr/bin/perl -MLWP::Protocol::https\ 999999999
$ curl -fsSLO https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.28.2.tar.gz
@skaji
curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
wget --version
bash: wget: command not found
/usr/bin/perl -MHTTP::Tiny\ 99999999
HTTP::Tiny version 99999999 required--this is only version 0.070.
/usr/bin/perl -MIO::Socket::SSL\ 99999999
Can't locate IO/Socket/SSL.pm in @INC (you may need to install the IO::Socket::SSL module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.
/usr/bin/perl -MNet::SSLeay\ 99999999
Can't locate Net/SSLeay.pm in @INC (you may need to install the Net::SSLeay module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.
/usr/bin/perl -MLWP::UserAgent\ 9999999
Can't locate LWP/UserAgent.pm in @INC (you may need to install the LWP::UserAgent module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.
/usr/bin/perl -MLWP::Protocol::https\ 999999999
Can't locate LWP/Protocol/https.pm in @INC (you may need to install the LWP::Protocol::https module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.
curl -fsSLO https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.28.2.tar.gz
ls -l
total 17304
-rw-r--r-- 1 developer developer 17715666 Oct 18 21:53 perl-5.28.2.tar.gz
/usr/bin/perl -V
Summary of my perl5 (revision 5 version 26 subversion 1) configuration:
Platform:
osname=linux
osvers=4.9.0
archname=x86_64-linux-gnu-thread-multi
uname='linux localhost 4.9.0 #1 smp debian 4.9.0 x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc -Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-hx1dVS/perl-5.26.1=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions -Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.26 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.26 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.26 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.26.1 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.26.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.26.1'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='x86_64-linux-gnu-gcc'
ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2 -g'
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion=''
gccversion='7.3.0'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='x86_64-linux-gnu-gcc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=libc-2.27.so
so=so
useshrplib=true
libperl=libperl.so.5.26
gnulibc_version='2.27'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
DEBPKG:fixes/respect_umask - Respect umask during installation
DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib
DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules
DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.26.1-6ubuntu0.3 in patchlevel.h
DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories
DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers
DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798
DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a scoping issue with "no autodie" and the "system" sub
DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize
DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd
DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint
DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO
DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units
DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site
DEBPKG:fixes/time_piece_doc - https://bugs.debian.org/817925 Time::Piece: Improve documentation for add_months and add_years
DEBPKG:fixes/extutils_makemaker_reproducible - https://bugs.debian.org/835815 https://bugs.debian.org/834190 Make perllocal.pod files reproducible
DEBPKG:fixes/file_path_hurd_errno - File-Path: Fix test failure in Hurd due to hard-coded ENOENT
DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems
DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters
DEBPKG:fixes/file_path_chmod_race - https://bugs.debian.org/863870 [rt.cpan.org #121951] Prevent directory chmod race attack.
DEBPKG:fixes/extutils_file_path_compat - Correct the order of tests of chmod(). (#294)
DEBPKG:fixes/getopt-long-2 - [rt.cpan.org #120300] Withdraw part of commit 5d9947fb445327c7299d8beb009d609bc70066c0, which tries to implement more GNU getopt_long campatibility. GNU
DEBPKG:fixes/getopt-long-3 - provide a default value for optional arguments
DEBPKG:fixes/getopt-long-4 - https://bugs.debian.org/864544 [rt.cpan.org #122068] Fix issue #122068.
DEBPKG:fixes/test-builder-reset - https://bugs.debian.org/865894 Reset inside subtest maintains parent
DEBPKG:debian/hppa_opmini_optimize_workaround - https://bugs.debian.org/869122 Lower the optimization level of opmini.c on hppa
DEBPKG:debian/sh4_op_optimize_workaround - https://bugs.debian.org/869373 Also lower the optimization level of op.c and opmini.c on sh4
DEBPKG:fixes/json-pp-example - [rt.cpan.org #92793] https://bugs.debian.org/871837 fix RT-92793: bug in SYNOPSIS
DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 [rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager is less
DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 Regenerate Configure et al. after probe unit changes
DEBPKG:fixes/rename-filexp.U-phase1 - regen-configure: rename filexp.U to filexp_path.U, phase 1
DEBPKG:fixes/rename-filexp.U-phase2 - regen-configure: rename filexp.U to filexp_path.U, phase 2
DEBPKG:fixes/packaging_test_skips - Skip various tests if PERL_BUILD_PACKAGING is set
DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
DEBPKG:fixes/encode-alias-regexp - https://bugs.debian.org/880085 fix https://github.com/dankogai/p5-encode/issues/127
DEBPKG:fixes/regex-memory-leak - [910a6a8] https://bugs.debian.org/891196 [perl #132892] perl #132892: avoid leak by mortalizing temporary copy of pattern
DEBPKG:fixes/CVE-2018-6797 - [perl #132227] (perl #132227) restart a node if we change to uni rules within the node and encounter a sharp S
DEBPKG:fixes/CVE-2018-6798/pt1 - [perl #132063] Heap buffer overflow
DEBPKG:fixes/CVE-2018-6798/pt2 - [perl #132063] 5.26.1: fix TRIE_READ_CHAR and DECL_TRIE_TYPE to account for non-utf8 target
DEBPKG:fixes/CVE-2018-6798/pt3 - [perl #132063] (perl #132063) we should no longer warn for this code
DEBPKG:fixes/CVE-2018-6798/pt4 - [perl #132063] utf8.c: Don't dump malformation past first NUL
DEBPKG:fixes/CVE-2018-6913 - [perl #131844] (perl #131844) fix various space calculation issues in pp_pack.c
DEBPKG:fixes/CVE-2018-12015.patch - [PATCH] [PATCH] Remove existing files before overwriting them
DEBPKG:fixes/CVE-2018-18311.patch - [PATCH] Perl_my_setenv(); handle integer wrap
DEBPKG:fixes/CVE-2018-18312.patch - [PATCH 242/242] PATCH: [perl #133423] for 5.26 maint
DEBPKG:fixes/CVE-2018-18313.patch - [PATCH] regcomp.c: Convert some strchr to memchr
DEBPKG:fixes/CVE-2018-18314.patch - [PATCH] fix #131649 - extended charclass can trigger assert
Built under linux
Compiled at Nov 19 2018 15:54:44
@INC:
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.26.1
/usr/local/share/perl/5.26.1
/usr/lib/x86_64-linux-gnu/perl5/5.26
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.26
/usr/share/perl/5.26
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
Do you use docker? If so, then what image do you use?
I suspect this is just a network failure.
Do you use docker? If so, then what image do you use?
Yes i am using docker -> FROM ubuntu:18.04
Then, can you provide Dockerfile that reproduces this issue?
FROM ubuntu:18.04
# disable tzdata interactive install
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq && apt-get install -y git curl libssl-dev
# for postgres
RUN apt-get install -y libpq-dev build-essential
# for nokogiri
RUN apt-get install -y libxml2-dev libxslt1-dev
# for perl
RUN apt-get install -y tzdata libncurses5-dev libncursesw5-dev libreadline-dev \
zlib1g-dev libexpat1-dev xmlsec1
# create user
RUN useradd -ms /bin/bash developer
USER developer
WORKDIR /home/developer
ENV PLENV_ROOT /home/developer/.plenv
ENV PATH $PLENV_ROOT/bin:$PLENV_ROOT/shims:$PATH
RUN git clone git://github.com/tokuhirom/plenv.git $PLENV_ROOT \
&& git clone git://github.com/tokuhirom/Perl-Build.git $PLENV_ROOT/plugins/perl-build \
&& git clone git://github.com/miyagawa/plenv-contrib.git $PLENV_ROOT/plugins/plenv-contrib
RUN echo 'eval "$(plenv init -)"' >> ~/.profile
RUN plenv install 5.28.2 && plenv rehash
@zsan Thanks.
I have executed docker build .
3 times.
1st https://gist.github.com/skaji/554392e4f6288c6e242d105bc7636d9b -> No problem
2nd (with appending RUN echo no cache 1
so that the last line is not cached)
https://gist.github.com/skaji/441b436c8d5c0632c988c27fffd031c6 -> No problem
3rd (with appending RUN echo no cache 2
so that the last line is not cached)
https://gist.github.com/skaji/a3f0a225a32bb1624090fd69bb810731 -> No problem
I have not seen any failure. So again, I suspect your environment has some network issue.
@skaji Thanks.
Will dig more on this, hope can reproduce the issue
@zsan Any news?
@skaji I am sorry for the delay, i've been so busy with my project.
Yes the issue is happening randomly, so i ended up with downloading the perl package manually.
Also i manually create specific directory for the file, RUN mkdir $PLENV_ROOT/cache
FROM perl:5.30
RUN apt-get -y update
RUN apt-get install -y sqlite3 libsqlite3-dev
RUN apt-get install -y gearman-job-server
RUN mkdir /root/my_app/
WORKDIR /root/my_app/
ENV PLENV_ROOT /root/my_app/.plenv
ENV PATH $PLENV_ROOT/bin:$PLENV_ROOT/shims:$PATH
RUN git clone git://github.com/tokuhirom/plenv.git $PLENV_ROOT \
&& git clone git://github.com/tokuhirom/Perl-Build.git $PLENV_ROOT/plugins/perl-build \
&& git clone git://github.com/miyagawa/plenv-contrib.git $PLENV_ROOT/plugins/plenv-contrib
RUN mkdir $PLENV_ROOT/cache
RUN curl https://www.cpan.org/src/5.0/perl-5.30.0.tar.gz -o $PLENV_ROOT/cache/perl-5.30.0.tar.gz
# Get our Perl setup
RUN plenv install 5.30.0 && plenv rehash
RUN plenv local 5.30.0
RUN plenv install-cpanm
RUN plenv rehash
In case anyone else finds this, I'm also getting it just in my case its nearly every time. Happens on my Centos8 virtual machine (virtual box). I'm pretty sure that '599 Internal Exception ' is coming from HTTP::Tiny. Perl-Build uses HTTP::Tinyish which is a an API wrapper over LWP, HTTP-Tiny and a few other things (it chooses the first it can find which will often be HTTP-Tiny since you get that with most Perl installs. HTTP::Tiny documentation says that 599 Error happens when you timeout and the timeout threshold is like 60 seconds by default.
One thing that might be a good addition is to have some way for Perl-Build to expose a few settings that get passed down to HTTP-Tinyish, such as timeout. Some of us on slow connections will find 60 seconds is too tight
Could be other stuff, HTTP::Tiny docs say
Exceptions from max_size, timeout or other errors will result in a pseudo-HTTP status code of 599 and a reason of "Internal Exception". The content field in the response will contain the text of the exception.
Perhaps we could better expose the content field when there's an error so that we can debug this better. I could probably make a patch for some of this if people think its a good idea.
IN the meantime I worked around by installing LWP which has a more generous 180 second timeout. That seemed to fix my issues most of the time.
HTTP::Tinyish also sets timeout 60sec for LWP https://github.com/miyagawa/HTTP-Tinyish/blob/aea710c6144009256d2eb9bd6bbd9f14055e7679/lib/HTTP/Tinyish/LWP.pm#L105
Perl-Build tries to dump the content if status code = 599. https://github.com/tokuhirom/Perl-Build/blob/9b20e910c94bd03ca9742ce0e070c20de6c5662c/lib/Perl/Build.pm#L137
When the backend is curl, this patch may give us error in more detail. https://github.com/miyagawa/HTTP-Tinyish/pull/18
I'm also getting it just in my case its nearly every time
@jjn1056 Could you provide Dockerfile or something?
FYI: make sure that you did not clone the "latest" release (1.30) but the master branch if you want to install Perl > 5.30. In my case I had release 1.30 which only supports until v5.29. In this case you are getting this error:
[cpan_perl_releases] not found the tarball for perl-5.30.2
[metacpan] 599 Internal Exception, https://fastapi.metacpan.org/v1/release/_search,
ERROR: Cannot find the tarball for perl-5.30.2
CPAN::Perl::Releases::perl_tarballs is not able to resolve the tarball name from the given version and exits.
I've just released Perl-Build 1.31 https://metacpan.org/release/SKAJI/Perl-Build-1.31 which will emit more useful error message, I hope.
@zsan Can you try plenv install
again with Perl-Build 1.31 ?
Closing this issue because it has not had recent activity.
Hi,
I am trying to
plenv install
and i have this error message, i am not sure if this error because of my machine's environments or something else or network failure.Do you have any ideas ?