2014-08-19 1 views
3

Я использую некоторые пакеты Julia, для которых требуется определенная версия (а именно ≥ v0.3 и 0.4 ≤). Я не мог найти способ скомпилировать Julia из источника (я использую Linux) в конкретной версии. Есть ли способ сделать это, о котором я не знаю? Ни Github-Julia-Readme, ни обширный интернет-поиск не выявили никаких прозрений. Я уверен, что есть простой способ, о котором я не знаю.Как скомпилировать конкретную версию Julia

Моей обычная процедура

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

Достаточно ли изменить запись в файле VERSION в Julia источнике?

ответ

7

git checkout ветка или тег, за которым вы хотели бы следовать. На данный момент вы можете следить за веткой release-0.3, пока не закончится «период хаоса».

Таким образом, вы можете просто изменить вашу последовательность команд, чтобы быть:

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

Вы можете так же захватить release-0.2 или release-0.1 ветви, если вы хотите. Теперь это фактически не соответствует точной версии; это следует за развитием в серии 0.x. Например, в течение 0,3 периода разработки release-0.2 иногда обновлялся с исправлениями с обратным портированием, и через некоторое время из этой ветки было помечено 0.2.1. Следуя ветке release-x, git pull && make clean && make будет захватывать и компилировать последние обновления, даже если они еще не были помечены в точечный релиз. Вы все еще живете на краю и можете столкнуться с случайными икотами (хотя это много менее вероятно, чем на главном).

Если вы хотите, чтобы получить точную версию, вы можете извлекаете tag вместо филиала:

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

Это будет тогда стабильная версия и не изменится с git pull. Вам нужно будет вручную проверить следующую помеченную версию, если хотите, например, обновить до финальной версии 0.3.0.

(Изменение файла VERSION просто заставит Джулию лгать вам, вы можете ввести 1.0 в VERSION, и Джулия с радостью сообщит вам, что она будет жить в будущем).

+0

А теперь, я вижу, я не прокрутил вниз достаточно далеко на ветке дерева, чтобы увидеть, что есть ветвь release-0,3. –

+0

Список всех выпусков см. На странице https://github.com/JuliaLang/julia/releases. – wallnuss