出于各种项目原因,我已将INDEX(latitude)
(和boost
)自制软件安装从boost-python
降级为boost159
(又名Boost boost
为写这个问题)。 1.62.0
和homebrew/versions/boost159
公式是 keg-only ,因此我必须手动链接它们:
boost-python159
到目前为止一切顺利。但是,当我想安装一些与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
有依赖关系的无关Homebrew公式时,Homebrew尝试boost
(Boost brew install boost
)并且无法链接它:
1.62.0
有没有办法让其他公式使用[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
[...]
代替boost159
?请注意,boost
必须链接到项目的其他部分(不在我的控制范围内)才能工作。也就是说,我不能将其取消链接并改为设置构建变量。
PS。这实际上都是在CI构建中发生的,这使得错误更具破坏性。
参考
答案 0 :(得分:1)
可能你只需要patch your local formulas。在我看来,brew中的整个版本支持是一个邪恶的黑客,也是我不使用brew构建时间开发依赖的原因之一。