Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compile specific version of Julia

Tags:

julia

I use some Julia packages that require a specific version (namely ≥ v0.3 and 0.4 ≤). I could not find a way to compile Julia from source (I'm using Linux) in a specific version. Is there a way to do this that I am not aware of? Neither the Github-Julia-Readme nor extensive internet search did reveal any insights. I'm sure there is an easy way that I'm unaware of.

My usual procedure is

git clone git://github.com/JuliaLang/julia.git && cd julia && printf "prefix=/usr/local" > Make.user && make && make install

Is it sufficient to edit the entry in the VERSION file in the Julia source?

like image 762
lord.garbage Avatar asked Mar 19 '23 17:03

lord.garbage


1 Answers

You can git checkout the branch or tag that you'd like to follow. For right now, you can follow the release-0.3 branch until the "chaos period" ends.

So, you can simply modify your command sequence to be:

git clone git://github.com/JuliaLang/julia.git && cd julia && git checkout release-0.3 && …

You could similarly grab the release-0.2 or release-0.1 branches if you'd like. Now, this doesn't actually follow an exact version; it follows all development on the 0.x series. For example, during the 0.3 development period, release-0.2 was occasionally updated with back-ported fixes and after a time 0.2.1 was tagged from this branch. By following the release-x branch, git pull && make clean && make will grab and compile recent updates, even if they haven't been tagged into a point-release yet. You're still living on the edge and may run into occasional hiccups (although that is much less likely than on master).

If you'd like to get an exact version, you can checkout a tag instead of a branch:

git clone git://github.com/JuliaLang/julia.git && cd julia && git checkout v0.3.0-rc4 && …

This will then be a stable version and will not change with git pull. You will have to manually checkout the next tagged version if you want, for example, to update to the final release of 0.3.0.

(Changing the VERSION file will simply make Julia lie to you; you could enter 1.0 into VERSION and Julia will happily report to you that its living in the future).

like image 54
mbauman Avatar answered Mar 21 '23 07:03

mbauman