Heads up: poppler won't build

Ryan Schmidt ryandesign at macports.org
Tue Feb 26 14:18:34 UTC 2019

On Feb 24, 2019, at 17:55, Dave Horsfall wrote:

> Hmmm...  Proceed regardless:
>    ozzie:~ dave$ sudo port -p upgrade outdated
>    Nothing to upgrade.
> (Yes, I'm in the habit of using "-p" to get past broken ports.)

Please do not habitually (or ideally ever) use "-p" when installing or upgrading. It will cause problems.

Suppose that you have installed a port PROG that depends on a library LIB. Suppose we upgrade LIB to a new version, and that this requires PROG to be rebuilt, so we also increase the revision of PROG. You've selfupdated and received these changes, and then you run "sudo port -p upgrade PROG", which causes LIB to be upgraded first, since it is a dependency.

Suppose that for whatever reason, LIB fails to build on your system. Because you used the "-p" flag, MacPorts proceeds past this failure and rebuilds PROG anyway. If MacPorts is able to get a binary of PROG from our build server, that binary will be linked with the new version of LIB, which you don't have, so PROG will be broken. If you don't get a binary, it will build on your system, linking with the old version of LIB that you already had installed, despite the fact that the only reason for the rebuild was to link with the new version of LIB. So it will look to you as if PROG built successfully, but in fact what you built was not what we intended for you to get. Worse, when whatever problem prevented LIB from building on your system is fixed and you are able to upgrade it, you will have a broken PROG because it was linked with the old LIB.

We should probably modify MacPorts base to prevent using the "-p" flag for the install or upgrade actions.

More information about the macports-users mailing list