1
C:\MyPerl>cpan install Parallel::ForkManager
Loading internal logger. Log::Log4perl recommended for better logging
Reading '\c\Users\Locals\.cpan\Metadata'
  Database was generated on Wed, 25 Jul 2018 22:55:14 GMT
Running install for module 'Parallel::ForkManager'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.081)
Checksum for \c\Users\Locals\.cpan\sources\authors\id\Y\YA\YANICK\Parallel-ForkManager-1.20.tar.gz ok
The system cannot find the path specified.
Uncompressed \c\Users\Locals\.cpan\sources\authors\id\Y\YA\YANICK\Parallel-ForkManager-1.20.tar.gz successfully
Using Tar:/usr/bin/tar xf "Parallel-ForkManager-1.20.tar":
The system cannot find the path specified.
Couldn't untar Parallel-ForkManager-1.20.tar: child exited with value 1
CPAN: YAML loaded ok (v1.26)
YANICK/Parallel-ForkManager-1.20.tar.gz
Had problems unarchiving. Please build manually

What am I doing wrong? I have uninstalled and reinstalled Strawberry Perl multiple times, used the MSI installer, and now im trying to zip file. Why the hell is it creating a folder on my C drive called "C"? "C:\c\Users\Locals.cpan\"

3 Answers 3

2

I'm sad to be coming with an answer so late, but I ran into the exact same problem and, after some tinkering, have figured it out.

Notice something familiar about that path syntax? It's the one used by MSYS/MinGW/Git Bash. What happened is that, on MinGW, I replaced my home folder with a symlink to my Windows home folder in /c/Users/<username>/.cpan. Hence, when I launched CPAN in MinGW, it created my configuration in /c/Users/<username>/.cpan, and filled it with with paths in this format.

Now, from Strawberry Perl's point of view, this means I have an existing CPAN configuration in C:\Users\<username>\.cpan. Although this is not where CPAN for Strawberry Perl writes its configuration (at least not by default), if a CPAN configuration exists in this path, it will read and write to it instead of the default location. Of course, none of the paths in this configuration makes sense in a Windows context.

Therefore:

  • If you use MinGW, Git Bash, Cygwin or any other UNIX-like environment for Windows and configured it to use your Windows home folder as your UNIX home folder, undo this configuration.
  • Rename, move, or if you're sure you don't need it anymore, delete C:\Users\<username>\.cpan. You can probably move this directory from your Windows home folder to your UNIX home folder to as to preserve the configuration and modules in your UNIX-like environment. I would advise testing it out.
  • Run CPAN in Strawberry Perl again. It will auto-configure itself properly.
Sign up to request clarification or add additional context in comments.

1 Comment

This helped me fix same issue. I had install .cpan previously in my Windows $HOME, and it was interfering with StrawberryPerl. I deleted both .cpan directories, started from scratch, and everything worked fine. Thanks.
1

Here is sample output with the latest version of Strawberry Perl x64 which appears to have been successful:

C:\Strawberry\perl\bin>cpan install Parallel::ForkManager
Loading internal logger. Log::Log4perl recommended for better logging
CPAN: CPAN::SQLite loaded ok (v0.211)
CPAN: LWP::UserAgent loaded ok (v6.34)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
CPAN: YAML::XS loaded ok (v0.70)
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Creating database file ...
Done!
Running install for module 'Parallel::ForkManager'
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.
tar.gz
CPAN: Digest::SHA loaded ok (v6.02)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/Y/YA/YANICK/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.081)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\Y\YA\YANICK\Parallel-ForkMan
r-2.02.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.30)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20180622)
Configuring Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Parallel::ForkManager
Writing MYMETA.yml and MYMETA.json
  YANICK/Parallel-ForkManager-2.02.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz
cp lib/Parallel/ForkManager/Child.pm blib\lib\Parallel\ForkManager\Child.pm
cp lib/Parallel/ForkManager.pm blib\lib\Parallel\ForkManager.pm
  YANICK/Parallel-ForkManager-2.02.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe -- OK
Running make test
"C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness"
e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')"
*.t
t/00-compile.t ............ ok
t/00-load.t ............... 1/4 # time: 1 seconds
t/00-load.t ............... 2/4 # time: 21 seconds
# time: 0 seconds
# time: 2 seconds
t/00-load.t ............... ok
t/00-report-prereqs.t ..... #
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.34
#
# === Build Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.34
#
# === Test Requires ===
#
#     Module              Want     Have
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     7.34
#     File::Spec           any     3.74
#     IO::Handle           any     1.39
#     IPC::Open3           any     1.20
#     Test::More          0.94 1.302136
#     Test::Warn           any     0.35
#
# === Test Recommends ===
#
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
#     Module     Want     Have
#     ---------- ---- --------
#     Carp        any     1.50
#     File::Path  any     2.15
#     File::Spec  any     3.74
#     File::Temp  any   0.2304
#     Moo         any 2.003004
#     Moo::Role   any 2.003004
#     POSIX       any     1.84
#     Storable    any     3.11
#     strict      any     1.11
#     warnings    any     1.42
#
t/00-report-prereqs.t ..... ok
t/01-utf8-all.t ........... skipped: This is a bug in perl itself on Windows
t/02-callback.t ........... # This test can take 10-20 seconds, please wait.
rted at Wed Oct 17 12:28:28 2018
t/02-callback.t ........... ok
t/03-callback-data.t ...... # This test can take 2-6 seconds, please wait. St
ed at Wed Oct 17 12:28:45 2018
t/03-callback-data.t ...... ok
t/basic-methods.t ......... ok
t/changing-pids.t ......... ok
t/start_child.t ........... ok
t/waitpid-conflict.t ...... # code outside of P::FM stole -3648
child process '-3648' disappeared. A call to `waitpid` outside of Parallel::F
Manager might have reaped it.
t/waitpid-conflict.t ...... ok
t/waitpid-waitonechild.t .. # code outside of P::FM stole -5312
t/waitpid-waitonechild.t .. ok
t/waitpid_blocking.t ...... ok
All tests successful.

Test Summary Report
-------------------
t/waitpid-conflict.t    (Wstat: 0 Tests: 2 Failed: 0)
  TODO passed:   1-2
t/waitpid-waitonechild.t (Wstat: 0 Tests: 3 Failed: 0)
  TODO passed:   2-3
Files=12, Tests=28, 70 wallclock secs ( 0.09 usr +  0.00 sys =  0.09 CPU)
Result: PASS
  YANICK/Parallel-ForkManager-2.02.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe test -- OK
Running make install
Installing C:\STRAWB~1\perl\site\lib\Parallel\ForkManager.pm
Installing C:\STRAWB~1\perl\site\lib\Parallel\ForkManager\Child.pm
Appending installation info to C:\STRAWB~1\perl\lib/perllocal.pod
  YANICK/Parallel-ForkManager-2.02.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe install UNINST=1 -- OK

I think the problem may be you're just not running cpan from your \perl\bin directory.

Comments

1

I installed via the .msi installer to a custom location, but for some reason the path didn't get reconfigured internally. Cpan continued downloading to C:\straberry, even if there was no Perl installation there.

Luckily, this is what the relocation.pl.bat is for. Downloading the .zip distribution, extracting the batch-file to my Perl installation and running it solved the Problem.

Read the README file that comes with the Perl installation for more information.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.