con
con

Reputation: 6093

Perlbrew fails to install new perl version

I'm attempting to install a new perl version with perlbrew:

perlbrew install perl-5.34.1

but this produces the error:

Fetching perl 5.34.1 as /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz
Download https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz to /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz
ERROR: Failed to download https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz
ERROR: Failed to execute the command

    curl --silent --location --fail -o /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz

Reason:

    5888

which I'm unable to find on Google searches.

I know that there isn't any typo, because when I intentionally write something wrong, I get a different error.

I have no idea why this is happening, nor to fix it.

EDIT:

the command

curl --location https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz > /dev/null

outputs

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17.3M  100 17.3M    0     0  68.5M      0 --:--:-- --:--:-- --:--:-- 68.5M

How can I install a perl version with perlbrew?

Upvotes: 1

Views: 1146

Answers (3)

Kjetil S.
Kjetil S.

Reputation: 3777

I got rid off "reason 5888" by running perlbrew init before the first perlbrew install perl-5.xx.x to create the folder ~/perl5/ and its subfolders.

Upvotes: 0

David Ellenberger
David Ellenberger

Reputation: 11

In my case the problem was that it would not create the destination folder for that download. So what fixed it for me was:
mkdir $HOME/perl5/perlbrew/dists -p

In the above case just:
mkdir -p /home/703404669/perl5/perlbrew/dists

Upvotes: 1

ikegami
ikegami

Reputation: 385764

5888 is 0x1700. This could be $? for a program that used exit(0x17), which is to say exit(23). curl uses that exit code when

23 Write error. Curl couldn't write data to a local filesystem or similar.

Sounds like it can't write to /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz.


If the directory doesn't exist, maybe you didn't properly install perlbrew.

Ways to install perlbrew:

\curl -L https://install.perlbrew.pl | bash
\wget -O - https://install.perlbrew.pl | bash
\fetch -o- https://install.perlbrew.pl | sh
sudo cpan App::perlbrew
perlbrew init

You also need to place a command in your shell's interactive startup script as instructed.


Or maybe you don't have enough disk space. Did you mean to install perlbrew somewhere other than /home/703404669/perl5/perlbrew?

The default perlbrew root directory is ~/perl5/perlbrew, which can be changed by setting PERLBREW_ROOT environment variable before the installation and initialization.

Upvotes: 3

Related Questions