I would want to get the list of installed packages that depend on gcc (installed with homebrew). When I try:
brew uses --installed gcc
it gives no result. And if I check e.g. r's dependencies with brew deps r
, it returns gcc
(among others). So I assume brew uses
should at least return the value r
.
Did anyone encounter a similar problem and could shed some light on this?
This is not an authoritative answer, but it appears to me that this is because r
depends on :fortran
, which is some kind of virtual dependency that can be resolved in different ways. brew deps
answers the question, what would I need to install before installing this formula. And in your case it decides that installing gcc
is a way to satisfy the :fortran
requirement. But the reverse is apparently not supported: It doesn't know just from looking at gcc
that this can be used to resolve the virtual dependency :fortran
. This is somewhat plausible if one considers the way that virtual dependencies are implemented in Homebrew. Usually, it just looks around in the file system to see if a required binary is available (including ones supplied outside of Homebrew), but it doesn't establish a formula dependency link once it finds a candidate.
(In fact, this case might be even more complex. If you look at brew deps r --tree
, you will see that the dependency is actually on :gcc
, which is another level of virtual dependency.)
Although not directly related to your question, also note that deps
by default is recursive but uses
is not. So in order to get a symmetric picture, you'd need to use deps -1
or uses --recursive
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With