Building on Intel, running on G4
Ryan Schmidt
ryandesign at macports.org
Fri May 16 23:01:39 PDT 2008
On May 15, 2008, at 3:52 PM, Erwan David wrote:
> I've got an Intel Imac and a G4 powerbook. Is it possible to build
> the
> ports for the powerbook on the more powerful Imac ?
Oof. This would probably fall under the "very advanced" category of
usage.
You can build ports with the +universal variant. As you might guess,
this will build universal binaries of the ports, which can then be
used on both PowerPC and Intel Macs. (Without the +universal variant,
MacPorts builds ports that work on whatever the local architecture is.)
To get these universal binaries from the Intel Mac to the PowerPC
Mac, I wouldn't do it any other way than transferring your Intel
Mac's *entire* MacPorts installation to the PowerPC Mac. That is,
take all of /opt/local on the Intel Mac and copy it to the PowerPC
Mac via rsync or as a tarball. (You could exclude the /opt/local/var/
macports/distfiles directory to save space on the PowerPC Mac if
desired.) By way of counterexample, I would *not* attempt to build a
port universal on the Intel Mac and then copy just that port's files
to the PowerPC Mac. For one thing the port may have dependencies on
other ports. For another, MacPorts on the PowerPC Mac wouldn't know
that you had copied these items, "port installed" on the PowerPC Mac
wouldn't show it as installed, etc.
You can add +universal to your /opt/local/etc/macports/variants.conf
on your Intel Mac to ask it to build all ports you install with that
variant, without you having to remember to type it at every install
command. However, some ports have not yet been tested as universal
binaries and may not build properly. Or they may build but then not
work on the foreign architecture. For some ports the universal
variant has been expressly disabled, either because no way has been
found to make it possible, or because nobody has yet tried to make it
possible.
Both the Intel and the PowerPC Mac must have the same major version
of Mac OS X installed, preferably the same version entirely, and
should have the same version of Xcode too. For example both must be
running Tiger with Xcode 2.5, or both must be running Leopard with
Xcode 3.0. Don't attempt this if they're running different major
versions.
MacPorts itself (i.e. the port command) is universal when installed
from the MacPorts installation disk image. I'm not confident,
however, that it remains universal after you've gone through a
selfupdate. This would be a problem if you had done a selfupdate on
the Intel Mac (and that selfupdate resulted in MacPorts base being
rebuilt) and you still wanted to use the port command on the PowerPC
Mac after you had copied the Intel Mac's MacPorts installation to it.
More information about the macports-users
mailing list