9

I want to update all my outdated ports, but as libgcc-devel takes upwards of 3 hours to build, I want to exclude it. The tip I read on the internet is applying logical operators. So I run

$ sudo port upgrade outdated and not libgcc-devel
--->  Computing dependencies for libgcc-devel
--->  Building libgcc-devel
...

To my frustration, it silently ignores that part of the command. I tried with *gcc* as well, to no avail. What is the correct syntax for this?

The documentation states that this works with uninstall, but does not mention upgrade.

$ sudo port uninstall inactive and not <portname>
4
  • I would run port dependents libgcc-devel. Do any outdated ports need libgcc-devel?
    – fd0
    Commented Mar 3, 2016 at 16:02
  • @fd0 You're right, that seems to have been it, should've thought of that. I did not expect any port to depend on it, as those that need it typically use libgcc, but since the tow are incompatible I must have done something to have them use that one.
    – oarfish
    Commented Mar 3, 2016 at 17:17
  • 6
    Your idea using logical operators is good -- now you just need to combine it with pseudo-port expressions and you're done: port upgrade outdated and not rdependentof:libgcc-devel. If libgcc-devel is outdated, you might also want to exclude that explicitly, since libgcc-devel is not an rdependent of itself.
    – neverpanic
    Commented Mar 4, 2016 at 21:50
  • @neverpanic Thanks for the advice. I had this same problem with the capstone port on Mojave, where it wasn't upgrading properly for some reason. I was able to get what I needed by doing what you said. Specifically: port upgrade outdated and not rdependentof:capstone and not capstone
    – GDP2
    Commented Sep 7, 2018 at 7:47

0

You must log in to answer this question.

Browse other questions tagged .