Updating Julia on your cluster
When it comes to the console and using binaries, I am just not at all tech-savvy. I recently had to install an updated version of Julia on the computer cluster I am using (previously worked with an HTCondor cluster, now I am at a SLURM cluster). I didn’t want to break everyone else’s programs, so I wanted to install it only for me.
The Julilang website kind of already gives you the answer here. But it still took me a while to figure our exactly what to do. So, here we go.
Download the binaries from the Julialang website (in my case those were the Generic Linux Binaries for 64-bit architecture)
.tarfile to your user folder on the cluster, e.g.
Untar the file using:
Change the folder name to something more useful (I just used the version number:
Now, we need to let the server know that it should this version of julia whenever we call julia from the terminal. To do this, we need to change the
PATHvariable; Have a look with echo $PATH (should look similar to this:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games); What we want to do, is to add our path
/home/yourusername/binto it. So, create a/or use the .profile file in your home directory (to get to the home directory, simply enter
cd); with the command
nano .profilea text editor opens; We want to add our path to the beginning of the
PATHvariable, so like in math we want the new
PATHto be our
oldPATH. To achieve this we will write:
$PATHsimply adds whatever the
PATHcurrently is to the end of our path. (You might have to replace
$HOME, depending on the server settings). Finally, save the file by pressing
Ctrl-Xand accepting the changes.
Now, logout of the cluster and log in again.
When you now call julia, the version you just installed should be the one up and running. Remember, that you now also need to install all the packages you want to use for the updated version of Julia.
Enjoy your latest version of Julia!
Oh, and don’t forget to change the call in your source files as well. Those look usually like this
#!/usr/bin/env julia but now needs to be
#!/home/yourusername/bin/julia062/bin julia. Otherwise, you will only use the latest version of julia whenever you call it directly, but your jobs for the cluster would still run with the version installed globally.
Still questions? Let me know how to improve this post.