macos

Can't make csshX working on Mac OS Big Sur


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.


Solution

  • 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!