2015-09-29 2 views
1

В homebrew, если я выбираю установить z3, я получаю следующий результат:Различение z3 вариантов в доморощенного

▶ brew install z3 
Error: Formulae found in multiple taps: 
* homebrew/science/z3 
* mht208/formal/z3 

Please use the fully-qualified name e.g. homebrew/science/z3 to refer the formula. 

С одной стороны homebrew формула может показаться более канонический, потому что это главное хранилище (или любой другой, который называет элемент верхнего уровня в homebrew), но с другой стороны mht208 является разработчиком z3 как можно ближе. Есть ли простой способ определить, какая из этих двух имеет либо последнюю версию, либо самую стабильную версию?

Отредактированный, чтобы добавить дополнительную информацию: Когда я бегу brew info на каждом полностью квалифицированное имя, я получаю следующие результаты:

▶ brew info homebrew/science/z3 
homebrew/science/z3: stable 4.4.0 (bottled), HEAD 
A high-performance theorem prover 
https://github.com/Z3Prover/z3 
/usr/local/Cellar/z3/4.4.0_1 (50 files, 38M) * 
    Poured from bottle 
From: https://github.com/Homebrew/homebrew-science/blob/master/z3.rb 

▶ brew info mht208/formal/z3 
mht208/formal/z3: stable 4.4.0 
https://github.com/Z3Prover/z3 
/usr/local/Cellar/z3/4.4.0_1 (50 files, 38M) * 
    Poured from bottle 
From: https://github.com/mht208/homebrew-formal/blob/master/z3.rb 
==> Dependencies 
Build: autoconf ✔ 
==> Options 
--with-ocaml 
    Build ocaml bindings with the ocaml from Homebrew. 
--with-opam 
    Build ocaml bindings with the ocaml from OPAM. 

Таким образом, в теории, это как кажутся быть той же версии (4.4.0_1), за исключением того, что версия mht208 имеет некоторые параметры и зависит от autoconf (который уже установлен). Это также приводит к вопросу о том, имеет ли значение то, как создаются привязки ocaml (как ocaml, так и opam).

ответ

2

Это довольно легко взглянуть на еще некоторую информацию с помощью Homebrew:

$ brew info homebrew/science/z3 
homebrew/science/z3: stable 4.4.0 (bottled), HEAD 
A high-performance theorem prover 
https://github.com/Z3Prover/z3 
Not installed 
From: https://github.com/Homebrew/homebrew-science/blob/master/z3.rb 

Это показывает нам, что эта формула содержит версии 4.4.0, что это bottled, и что вы можете установить версию HEAD (через brew install homebrew/science/z3 --HEAD).

Взглянув на другой формуле:

$ brew info mht208/formal/z3 
mht208/formal/z3: stable 4.4.0 
https://github.com/Z3Prover/z3 
Not installed 
From: https://github.com/mht208/homebrew-formal/blob/master/z3.rb 
==> Dependencies 
Build: autoconf ✔ 
==> Options 
--with-ocaml 
     Build ocaml bindings with the ocaml from Homebrew. 
--with-opam 
     Build ocaml bindings with the ocaml from OPAM. 

Мы видим, что сейчас варианты доступны для этой формулы, которые не в другой. Теперь мы понятия не имеем, есть ли это из-за разных значений по умолчанию или чего-то еще, если мы фактически не пойдем и не рассмотрим формулы. Вот the homebrew/science one (очень простая формула, по сути, просто вызывающая make install), а вот the mht208/formal one (гораздо сложнее).

Они оба одинаковые версии, так как стабильность идет, я бы сказал, что это топор. Люди из доморощенного мира отлично справляются с тем, что они делают, в общем, я предлагаю другим придерживаться Homebrew, если вы не можете продемонстрировать проблему в программном обеспечении, которое не рассматривается. Конечно, если это возможно, обычно это не так уж сложно, чтобы зафиксировать его в основном репозитории Homebrew. :) Если, однако, вам нужны более сложные возможности второй формулы (построение привязок ocaml и еще много чего), тогда вам, конечно, следует использовать вторую формулу.

+0

Спасибо. Это отвечает на мой конкретный вопрос и дает общую эвристику. –

+0

Добро пожаловать! Я также призываю вас задавать вопросы, подобные этому в [Ask Different] (http://apple.stackexchange.com/), где предмет гораздо более сфокусирован на проблемах OSX, в отличие от программирования вопросов в целом, например Переполнение стека. – staticfloat