csshX not working on Mac OS Big Sur
csshX not working on Mac Big Sur. Trying to use it lead to this error:
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.Could anyone help me?
34 Answers
You can also just edit /usr/local/bin/csshX with the editor of your choice and replace the first line #!/usr/bin/perl with #!/usr/bin/perl5.18
1I 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 versions:
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.30and Voilà - csshX is working again!
I like to fix it this way:
change
use POSIX qw(tmpnam);to
use File::Temp qw/ :POSIX /;From
This has been fixed in the fork at
(Found under comment by dounokouno at and tested to confirm.)
1