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