Check your job error report with more starindices.err.######
Output:
/home/UNITYID/.lsbatch/1649278311.702208: /home/UNITYID/.lsbatch/1649278311.702208.shell: /bin/tcsh^M: bad interpreter: No such file or directory
The issue is noted here /bin/tcsh^M: bad interpreter
If your job script errored out with this message, then you have the special character ^M somewhere in your script. Often it is at the end of every line.
^M is called control M or a carriage return. It is used in Windows operating system file editors to denote the end of a line. ^M is a type of control character which is not represented with a symbol, and is therefore invisible to us. Control characters are often used for formatting, like adding new lines and white spaces. Windows control characters are different than Linux ones, so the compute clusters like Henry2 won't run scripts that have Windows control characters.
Use cat -v to look for control characters in a script
cat -v job.sh
Correctly formatted scripts should look like
#!/bin/tcsh
#BSUB -J Job_Script #job name
#BSUB -n 20 #number of nodes
Scripts with ^M characters look like
#!/bin/tcsh^M
#BSUB -J Job_Script #job name^M
#BSUB -n 20 #number of nodes^M
Use vi -b to open the visual text editor
vi -b job.sh
The script will look like
#!/bin/tcsh^M
#BSUB -J Job_Script #job name^M
#BSUB -n 20 #number of nodes^M
Hit 'i' on your keyboard to enter insert mode
Use your arrow keys to navigate through the script and delete each ^M with either your 'backspace' or 'delete' keys
Hit the 'esc' key to exit insert mode
Type ':wq' to save and exit vi
1) Make sure Notepad++ EOL is in Unix
Go to Edit > EOL Conversion > Unix(LF)
2) Use Globus instead of scp to upload files to Henry2
3) Instead of downloading and uploading files, use cat or vi to make scripts directly in Henry2
1) Atechtown tutorial for dealing with ^M
2) Reach out to Dr. D or Dr. S if ^M your problem persists! Four students had ^M issues in the Unit 6 lab. It's important to make sure this problem is solved.