in reply to Re^3: Cpan install gets stuck installing Net OpenSSH ?
in thread Cpan install gets stuck installing Net OpenSSH ?

Still seems to get stuck, and no error so far. Its been running for ~45 minutes now and no progress.
-bash-3.2$ sudo cpan Password: Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.9402) Enter 'h' for help. cpan[1]> look Net::OpenSSH CPAN: Storable loaded ok (v2.20) Going to read '/usr/local/home/myuser/.cpan/Metadata' Database was generated on Fri, 11 Mar 2016 19:17:02 GMT Running look for module 'Net::OpenSSH' Trying to open a subshell in the build directory... CPAN: Data::Dumper loaded ok (v2.124) 'YAML' not installed, falling back to Data::Dumper and Storable to rea +d prefs '/usr/local/home/myuser/.cpan/prefs' CPAN: Digest::SHA loaded ok (v5.47) CPAN: Compress::Zlib loaded ok (v2.02) Checksum for /usr/local/home/myuser/.cpan/sources/authors/id/S/SA/SALV +A/Net-OpenSSH-0.70.tar.gz ok Scanning cache /usr/local/home/myuser/.cpan/build for sizes ...................................................................... +......DONE CPAN: Archive::Tar loaded ok (v1.52) Net-OpenSSH-0.70/ Net-OpenSSH-0.70/sample/ Net-OpenSSH-0.70/sample/mod_perl_openssh.pm Net-OpenSSH-0.70/sample/login_handler.pl Net-OpenSSH-0.70/sample/autosudo.pl Net-OpenSSH-0.70/sample/git_ssh_through_mux.pl Net-OpenSSH-0.70/sample/change_passwd.pl Net-OpenSSH-0.70/sample/git_with_password.pl Net-OpenSSH-0.70/sample/net-telnet.pl Net-OpenSSH-0.70/sample/expect.pl Net-OpenSSH-0.70/sample/password_from_data.pl Net-OpenSSH-0.70/sample/sshfs_mount.pl Net-OpenSSH-0.70/sample/keep_in_sync.pl Net-OpenSSH-0.70/Changes Net-OpenSSH-0.70/lib/ Net-OpenSSH-0.70/lib/Net/ Net-OpenSSH-0.70/lib/Net/OpenSSH/ Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/ Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/MSCmd.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/fish.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/POSIX.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/Chain.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/csh.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter/MSWin.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ObjectRemote.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/Constants.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ShellQuoter.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ModuleLoader.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/OSTracer.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/ConnectionCache.pm Net-OpenSSH-0.70/lib/Net/OpenSSH/SSH.pm Net-OpenSSH-0.70/lib/Net/OpenSSH.pm Net-OpenSSH-0.70/t/ Net-OpenSSH-0.70/t/common.pm Net-OpenSSH-0.70/t/known_hosts Net-OpenSSH-0.70/t/uri.t Net-OpenSSH-0.70/t/test_server_key.pub Net-OpenSSH-0.70/t/test_user_key Net-OpenSSH-0.70/t/test_user_key.pub Net-OpenSSH-0.70/t/1_run.t Net-OpenSSH-0.70/t/test_server_key Net-OpenSSH-0.70/t/quoting.t Net-OpenSSH-0.70/patches/ Net-OpenSSH-0.70/patches/openssh-fwd-stdio-to-streamlocal-1.patch Net-OpenSSH-0.70/Makefile.PL Net-OpenSSH-0.70/README Net-OpenSSH-0.70/MANIFEST Net-OpenSSH-0.70/META.yml Net-OpenSSH-0.70/META.json CPAN: File::Temp loaded ok (v0.22) Working directory is /usr/local/home/myuser/.cpan/build/Net-OpenSSH-0. +70-ARY6NC # perl Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Net::OpenSSH Writing MYMETA.yml and MYMETA.json # make cp lib/Net/OpenSSH/ConnectionCache.pm blib/lib/Net/OpenSSH/ConnectionC +ache.pm cp lib/Net/OpenSSH/ShellQuoter/fish.pm blib/lib/Net/OpenSSH/ShellQuote +r/fish.pm cp lib/Net/OpenSSH/ShellQuoter/POSIX.pm blib/lib/Net/OpenSSH/ShellQuot +er/POSIX.pm cp lib/Net/OpenSSH/ShellQuoter.pm blib/lib/Net/OpenSSH/ShellQuoter.pm cp lib/Net/OpenSSH/ModuleLoader.pm blib/lib/Net/OpenSSH/ModuleLoader.p +m cp lib/Net/OpenSSH/ShellQuoter/Chain.pm blib/lib/Net/OpenSSH/ShellQuot +er/Chain.pm cp lib/Net/OpenSSH/Constants.pm blib/lib/Net/OpenSSH/Constants.pm cp lib/Net/OpenSSH/SSH.pm blib/lib/Net/OpenSSH/SSH.pm cp lib/Net/OpenSSH/ShellQuoter/MSWin.pm blib/lib/Net/OpenSSH/ShellQuot +er/MSWin.pm cp lib/Net/OpenSSH/ShellQuoter/MSCmd.pm blib/lib/Net/OpenSSH/ShellQuot +er/MSCmd.pm cp lib/Net/OpenSSH.pm blib/lib/Net/OpenSSH.pm cp lib/Net/OpenSSH/OSTracer.pm blib/lib/Net/OpenSSH/OSTracer.pm cp lib/Net/OpenSSH/ShellQuoter/csh.pm blib/lib/Net/OpenSSH/ShellQuoter +/csh.pm cp lib/Net/OpenSSH/ObjectRemote.pm blib/lib/Net/OpenSSH/ObjectRemote.p +m Manifying 7 pod documents # perl -Ilib -w t/quoting.t

Replies are listed 'Best First'.
Re^5: Cpan install gets stuck installing Net OpenSSH ?
by salva (Canon) on Mar 12, 2016 at 08:00 UTC
    That testing script runs some commands in order to find which shells are available on your system. One of those commands is not behaving as expected and not returning control back to the the testing script.

    Could you run the following Perl code and post here the output:

    $|=1; for (qw(sh csh bash tcsh ksh dash ash pdksh mksh zsh fish)) { print "shell: $_\n"; system $_ => '-c', 'echo good'; }
      system $_ => '-c', 'echo good';

      Nothing to do with the OP's problem (and I apologise for intruding), but I'm wondering why you've written the system command that way as opposed to (say) either:
      system $_ => '-c' => 'echo good'; or system $_, '-c', 'echo good';
      Is it a stylistic preference, or is there a practical advantage in writing it the way you've chosen ?

      For me, all three of those alternatives work equally well on both Windows and Ubuntu.
      Admittedly, there's quite a few shells specified there that I don't have.

      Cheers,
      Rob
        Style... or lack of it!
      shell: sh good shell: csh good shell: bash good shell: tcsh good shell: ksh good shell: dash shell: ash shell: pdksh shell: mksh shell: zsh good shell: fish -bash-3.2$
        Working directory is /usr/local/home/myuser/.cpan/build/Net-OpenSSH-0.70-ARY6NC

        Try cd'ing to that directory, and then run:
        perl -Mblib t/quoting.t
        If that hangs, kill the process (Ctrl-C) and start inserting some print statements in t/quoting.t to see how far into the script you get before it hangs.
        Then we'll know precisely what function call is hanging - and you might even be able to insert some print statements into that function to more precisely locate the hang.

        If, for example, you find that the hang occurs in the shell_is_clean function (at about line 29 of t/quoting.t) you could stick print statements within that function (which is found in t/common.pm) to further narrow it down.

        Cheers,
        Rob