|Version 3 (modified by ryandesign@…, 4 years ago) (diff)|
Migrating a MacPorts install to a new major OS version or CPU architecture
An installation of MacPorts and the ports installed by it are only designed to work on a single OS release and a single CPU architecture. If you upgrade to a new OS version (e.g. from Tiger to Leopard) or migrate to a new machine with a different type of CPU (e.g. PowerPC to Intel), you may get lucky and have your ports keep working, but in general, things will break.
After performing either of these types of system upgrades, you will first need to install the base MacPorts system again, either from the appropriate disk image or from source. (You will probably not be able to use sudo port selfupdate because the old port command you have will probably not be compatible with your new system.) You must then reinstall all your ports. There are at least two ways you could do this.
The most reliable way to reinstall your ports is as follows:
- Save the list of installed ports:
port installed > myports.txt
- Uninstall them all:
sudo port -f uninstall installed
- Browse myports.txt and install the ports that you actually want to use (as opposed to those that are only needed as dependencies) one by one, remembering to specify the appropriate variants:
sudo port install portname +variant1 +variant2 ...
Note that if you have specified variants which are not the default, you may need to install ports in an order other than the alphabetical order recorded in myports.txt.
As of MacPorts 1.8.0, you can alternatively try a single command to rebuild all installed ports for your new platform:
sudo port upgrade --force installed
Note that this may sometimes fail if the dependency relationships declared by the ports are not completely accurate. If you encounter such a problem, please report it so we can fix it.