raimue at macports.org
Sat Jul 4 08:15:13 PDT 2009
On 2009-07-04 16:54, Rich Morin wrote:
> I recently migrated from a Power Mac to a Mac Pro. Many things
> "just worked", but some did not. I tried copying my /opt tree
> to the new system, for example, and all the commands worked. I
> assume that the OSX Rosetta feature was responsible.
In short, just do not copy the /opt/local prefix to a different machine.
Install from the disk image and reinstall ports you need. MacPorts was
never intended to be used in the way you tried and thus it is no
surprise that it failed.
Note that not everything MacPorts provides is in /opt/local. And as you
encountered, different architectures will lead to big problems.
> However, when I naively attempted to upgrade a port, all !@#$%
> broke loose. It seems that, although the Mac Pro can run PPC
> binaries, MacPorts isn't very smart about upgrading them. So,
> it tried to link PPC and Intel binaries together.
> I'm not sure exactly what to suggest. I'm kind of late to the
> Intel party, so it may be that there aren't all that many PPCs
> left out there to replace. However, here are some ideas...
> * It would be useful to have a way (eg, port list explicit)
> to list ports that have been explicitly built on a system.
> For example, I've now rebuilt erlang and git-core. However,
> when I invoke "port list installed", I see 50+ entries. If
> I'm trying to figure out what commands to run, in order to
> rebuild my ports, this is not terribly useful.
How should we know that this is the case? You copied the full registry
from the old machine, so this would require your next point first.
> * At a minimum, MacPorts should keep track of processor type
> information for relocatable binaries, libraries, etc. The
> suite should NOT try to build executables from mixtures of
> PPC and Intel files.
What do you mean by relocatable here? MacPorts ports are not supposed to
be relocatable (as in moved to another path or machine).
> It might be nice to offer the user a choice of building an
> Intel or PPC binary, then using the right input files. If
> this is too difficult, a simple nastygram would suffice...
MacPorts does not support cross-compilation at the moment. Not for
different architectures and not for different Mac OS X versions. Mixing
architectures is never a good idea.
More information about the macports-users