Hi, ----- On 2 Oct, 2015, at 15:33, Bachsau w...@bachsau.name wrote:
> Maybe. Seems like I'm just not getting what is technically causing these > problems. When libraries change, and it breaks a particular application, why > can't I recompile just that? And why would the build of a newly installed port > fail, just because there are other ports installed that were compiled against > older system libraries? There are changes that can be done by Apple with OS upgrades that will render your currently installed libraries useless. Examples for changes that are of this nature are: - Apple changing CPU architecture - Apple changing the ABI of a library you link against (e.g. when moving to C++11 using libc++) - Apple no longer shipping a certain library This can leave you with binaries or libraries that no longer work. If a build system now picks up one of these broken binaries or libraries (that does happen, especially with missing architectures from universal binaries or missing libraries), your binary will crash during the build or the build will fail to link against a library. This will make your rebuild fail. Of course, anything that is needed for a build should be in the list of dependencies of a port, and should thus get rebuilt before the port in question, avoiding the problem. Reality is different, however: build systems like cmake and autotools look for optional dependencies all over the place and try to use them if found, even if they are not in the list of dependencies, which leads to these problems. In theory, we have a solution for this problem: trace mode hides anything from a port's build system that doesn't come with the system and is not in the list of dependencies, so *in theory* we could replace migration with sudo port -t upgrade outdated, and in fact, I successfully tested this during the last OS upgrade. With the upgrade to El Capitan, though, Apple's System Integrity Protection actually breaks trace mode (Yay!), so this not an option, leading us to recommend the migration procedure. So yes, careful thought has been given to the problem at hand, I agree it's annoying, but given the way Apple handles things, there are currently no other options. -- Clemens Lang _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users