On Oct 2, 2015, at 8:13 AM, Bachsau wrote:
> 
> Am 01.10.2015 um 16:08 schrieb Rainer Müller:
> 
>> It may appear to be still working right now, but there is no guarantee
>> that it will work at all. Even if it seems to be working now, later
>> updates will cause problems. For example updates will link to a
>> different set of new system libraries.
>> 
>> Although cumbersome, the migration procedure ensures that everything
>> keeps working after upgrading to a new OS X release.
> 
> What a crap is this? I've been using Arch Linux before and never needed to 
> recompile any third party software, just because system packages where 
> updated. Software that needs to be reinstalled / recompiled on every little 
> operating system upgrade is bad software.

A few things:

The migration steps only need to be followed on major OS upgrades, i.e. when 
the second number in the version number changes, e.g. OS X 10.10 Yosemite 
upgraded to 10.11 El Capitan. It is not needed for "every little operating 
system upgrade"; security updates and minor version number upgrades usually 
cause no problems for MacPorts.

We're trying to make MacPorts into a system that just works, and that means 
that when we discover common situations where MacPorts fails to work, we try to 
modify MacPorts so that users are less likely to encounter them. One of the 
common problems we discovered was when MacPorts is built on one version of OS X 
and used on another version of OS X. So now we prevent that, via the error 
message that caused you to begin this thread.

The way that MacPorts is built is similar to a lot of other unix software: 
first, a configuration program is run that determines how things are done on 
your OS. Then, the program is compiled, using that configuration. Then the 
program is installed. If you then later upgrade to a different major version of 
OS, the determinations made at configure time may no longer be true, so the 
program that was built may no longer work on your new OS. I can think of two 
cases when this has happened to MacPorts in the past. MacPorts uses OS X's curl 
library. I think it was in OS X 10.4 that Apple shipped a newer version of the 
curl library, and no longer shipped the older version that MacPorts used when 
it was built on OS X 10.3 or earlier. Therefore users upgrading from 10.3 to 
10.4 could no longer use MacPorts, because it tried to load a library that no 
longer existed. Another case occurred in OS X 10.9, when Apple stopped 
including the /usr/bin/gnutar program in OS X. MacPorts checks for a tar 
program at configure time, so MacPorts built on 10.8 or earlier would use 
/usr/bin/gnutar, but after upgrading to 10.9, that no longer exists, so 
MacPorts would fail to extract anything. The solution to both issues is to 
re-run the MacPorts configure-build-install process, or run selfupdate which 
does that for you, or download our pre-compiled installer package for your OS X 
version. These types of problems are the reason why MacPorts now checks whether 
the runtime OS X version matches the build-time OS X version, and refers you to 
the migration page if not.

The preceding examples concerned MacPorts itself, but since a lot of other unix 
software (the type of software that we distribute in MacPorts) builds itself in 
a similar way, this type of problem could easily be encountered in the ports we 
distribute as well. In addition, new versions of OS X offer new features. Some 
software may check for those features at build time and enable them if found. 
By using software built on an older OS X, you might therefore be missing out on 
some features. These are the kinds of reasons why MacPorts will check whether 
the runtime version of OS X matches the version of OS X that was in use when 
the port was installed, and considers the port outdated (i.e. a candidate to be 
rebuilt) if not.

When I said we want to make a system that just works, that also includes us 
wanting to reduce the amount of time we spend on technical support. So you are 
free to do what you like with MacPorts, and if you don't follow the migration 
instructions when we say you have to, it may work, but if it doesn't, and you 
ask us for help, we will not provide support for that configuration.


_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to