Pour diverses raisons spécifiques au projet, j'ai rétrogradé mon boost
(et boost-python
) l'installation Homebrew à boost159
de boost
(alias Boost 1.62.0
comme de l'écriture de cette question). Les homebrew/versions/boost159
et boost-python159
formules sont tonnelet seulement et donc je devais les lier manuellement:Comment gérer les dépendances de formule Homebrew après avoir installé une version plus ancienne
brew tap homebrew/versions
brew remove --force boost
brew remove --force boost-python
brew install boost159
brew link --force --overwrite boost159
brew install boost-python159
brew link --force --overwrite boost-python159
Jusqu'à présent, si bon. Mais, quand je veux installer une formule Homebrew sans rapport qui a une dépendance à l'égard boost
, Homebrew essaie de brew install boost
(Boost 1.62.0
) et ne parvient pas à lier:
[34m==>[0m [1mPouring boost-1.62.0.el_capitan.bottle.tar.gz[0m
[31mError:[0m The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink include/boost/accumulators/accumulators.hpp
Target /usr/local/include/boost/accumulators/accumulators.hpp
is a symlink belonging to boost159. You can unlink it:
brew unlink boost159
To force the link and overwrite all conflicting files:
brew link --overwrite boost
To list all files that would be deleted:
brew link --overwrite --dry-run boost
Possible conflicting files are:
/usr/local/include/boost/accumulators/accumulators.hpp -> /usr/local/Cellar/boost159/1.59.0/include/boost/accumulators/accumulators.hpp
[...]
Est-il possible de faire d'autres formules utilisent boost159
au lieu de boost
? S'il vous plaît noter que boost159
doit être lié pour d'autres parties des projets (pas sous mon contrôle) pour fonctionner. C'est-à-dire, je ne peux pas le laisser dissocié et mettre des variables de construction à la place.
PS. Tout cela se passe dans une construction CI, rendant l'erreur beaucoup plus perturbante.
Références