Can't make csshX working on Mac OS Big Sur

Viewed 9246

csshX not working on Mac Big Sur.

Unimplemented: POSIX::tmpnam(): use File::Temp instead at /System/Library/Perl/5.28/darwin-thread-multi-2level/POSIX.pm line 185. Unimplemented: POSIX::tmpnam() at /usr/local/bin/csshX line 1130. BEGIN failed--compilation aborted at /usr/local/bin/csshX line 1130.

4 Answers

I have FIXED IT!

The whole thing was that Apple used in MacOS Catalina perl 5, version 18, subversion 4 (v5.18.4) as a default, but in Big Sur perl 5, version 28, subversion 2 (v5.28.2)

csshX is not compatible with 5.28 so the easiest way is to change the default one by this command:

defaults write com.apple.versioner.perl Version -string 5.18

since Apple kept the previous version:

sh-3.2# ls -l /usr/bin/perl* 
-rwxr-xr-x 1 root wheel 140176 Jan 1 2020 /usr/bin/perl 
-rwxr-xr-x 1 root wheel 139184 Jan 1 2020 /usr/bin/perl5.18 
-rwxr-xr-x 1 root wheel 121472 Jan 1 2020 /usr/bin/perl5.28 
-rwxr-xr-x 1 root wheel 121472 Jan 1 2020 /usr/bin/perl5.30

and VoilĂ  - csshX is working again!

Replace first line of the csshX with perl5.18 version.

Edit csshX file and replace the first line #!/usr/bin/perl with #!/usr/bin/perl5.18

change line create tmp file in CsshX.iterm

use POSIX   qw(tmpnam);

by

use File::Temp  qw(tmpnam);

I fixed mine by

  • add the write permision for all user on the file /usr/local/bin/csshX

     chmod ugo+w /usr/local/bin/csshX
    
  • edit the file /usr/local/bin/csshX by updating the first line from #!/usr/bin/perl with #!/usr/bin/perl5.18

Related