Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pipetogrep

macrumors 6502
Original poster
Jan 27, 2021
349
499
Hi all,

I have an idea for building Macports more quickly for PowerPC. It appears one can pass a "+universal" flag https://trac.macports.org/wiki/Universal to build for both PowerPC and Intel. My thought is, if I can get Tiger running in a VM on a modern machine, I'll be able to make builds that work for PPC and I can give my poor G4 Gigabit a respite from compiling for a week straight every time I do a new Macports install. This would really help with keeping the Tenfourfox Dev Toolkit updated more frequently.

Problem is, I'm struggling with getting a function Intel Tiger VM going. I did find and get this running https://archive.org/details/mac-os-x-10.4-tiger-for-intel-x-86-bootable-and-installable_202110 but it's 10.4.1 and does not appear to be update-able. I am curious if anyone has tried this or happens to have a virtualbox or qemu (intel) setup I could use as a starting point.

Any help would be appreciated! Thanks!
 
Yes, use Tiger Server 10.4.7, which is universal to begin with, as base OS. It’s on the Garden. And this howto.

Forget those hacked-to-hell-and-back Hackintosh distros.
Forget 10.4.1, it’s a dead-end unless you have one of the Pentium 4–based DTKs.
 
Last edited:
Yes, use Tiger Server 10.4.7, which is universal to begin with, as base OS. It’s on the Garden. And this howto.

Forget those hacked-to-hell-and-back Hackintosh distros.
Forget 10.4.1, it’s a dead-end unless you have one of the Pentium 4–based DTKs.
Ah nice. I'll give it a try. Thanks!
 
  • Like
Reactions: Amethyst1
Hi all,

I have an idea for building Macports more quickly for PowerPC. It appears one can pass a "+universal" flag https://trac.macports.org/wiki/Universal to build for both PowerPC and Intel. My thought is, if I can get Tiger running in a VM on a modern machine, I'll be able to make builds that work for PPC and I can give my poor G4 Gigabit a respite from compiling for a week straight every time I do a new Macports install. This would really help with keeping the Tenfourfox Dev Toolkit updated more frequently.

I strongly advise not to use +universal on anything PowerPC. This is a can of worms, keep it sealed :)

Unless, of course, you are interested to help us fix universal builds, that would be awesome. But, AFAICT, it is a) non-trivial and b) gonna require enormous amount of time investment and significant changes to Macports.
In short, you can build universal as long as you can get away with gcc-4.* (to be honest I have no idea if apple-gcc-4.2 port supports universal builds correctly, but let’s assume it does; on Leopard you just use Xcode gcc-4.2). Even then, it is likely something will not build. Once you need C11/++11, everything breaks down, since gcc does not support building FAT binaries (driver-driver is needed).

Macports has a tool to make it work in principle (muniversal PGs), but a) it does not always reliably work even with Intel, b) cross-family builds are a pain, c) most of the ports do not use muniversal PG, which means they cannot be built as universal; you may try adding it locally, but you are likely to be on your own there.

You could build in Rosetta, however, for ppc (without universal). Just set the build_arch to ppc in macports.conf. I never tried that on 10.4–10.5, but it should work, I think. On 10.6.8 it does work, though you gonna need a few fixes from my branch.
 
I strongly advise not to use +universal on anything PowerPC. This is a can of worms, keep it sealed :)

Unless, of course, you are interested to help us fix universal builds, that would be awesome. But, AFAICT, it is a) non-trivial and b) gonna require enormous amount of time investment and significant changes to Macports.
In short, you can build universal as long as you can get away with gcc-4.* (to be honest I have no idea if apple-gcc-4.2 port supports universal builds correctly, but let’s assume it does; on Leopard you just use Xcode gcc-4.2). Even then, it is likely something will not build. Once you need C11/++11, everything breaks down, since gcc does not support building FAT binaries (driver-driver is needed).

Macports has a tool to make it work in principle (muniversal PGs), but a) it does not always reliably work even with Intel, b) cross-family builds are a pain, c) most of the ports do not use muniversal PG, which means they cannot be built as universal; you may try adding it locally, but you are likely to be on your own there.

You could build in Rosetta, however, for ppc (without universal). Just set the build_arch to ppc in macports.conf. I never tried that on 10.4–10.5, but it should work, I think. On 10.6.8 it does work, though you gonna need a few fixes from my branch.
Noted and thanks. I’ll give up. I don’t have the time or skill for this at this point in my life.

I appreciate you saving me the time and effort.
 
Noted and thanks. I’ll give up. I don’t have the time or skill for this at this point in my life.

I appreciate you saving me the time and effort.

If you still have the PowerMac from your signature (Dual 1.8 GHz Sonnet Encore), that should be decent to build from source natively. Huge stuff gonna take a while still, but otherwise it should not be a pain.
I have Dual 2.3, and it feels generally okay.
 
I strongly advise not to use +universal on anything PowerPC. This is a can of worms, keep it sealed :)

Unless, of course, you are interested to help us fix universal builds, that would be awesome. But, AFAICT, it is a) non-trivial and b) gonna require enormous amount of time investment and significant changes to Macports.
In short, you can build universal as long as you can get away with gcc-4.* (to be honest I have no idea if apple-gcc-4.2 port supports universal builds correctly, but let’s assume it does; on Leopard you just use Xcode gcc-4.2). Even then, it is likely something will not build. Once you need C11/++11, everything breaks down, since gcc does not support building FAT binaries (driver-driver is needed).

Macports has a tool to make it work in principle (muniversal PGs), but a) it does not always reliably work even with Intel, b) cross-family builds are a pain, c) most of the ports do not use muniversal PG, which means they cannot be built as universal; you may try adding it locally, but you are likely to be on your own there.

You could build in Rosetta, however, for ppc (without universal). Just set the build_arch to ppc in macports.conf. I never tried that on 10.4–10.5, but it should work, I think. On 10.6.8 it does work, though you gonna need a few fixes from my branch.
I wish there was an easier way to:

1. Build for Intel, natively
2. Build for PPC, using Rosetta
3. Lipo everything together

As long as the port builds on both Intel and PPC (without universal), this should work, shouldn't it?
 
I wish there was an easier way to:

1. Build for Intel, natively
2. Build for PPC, using Rosetta
3. Lipo everything together

As long as the port builds on both Intel and PPC (without universal), this should work, shouldn't it?

I think this is what muniversal PortGroup does in effect. Perhaps, doing is manually will help to avoid quite a number of issues. I am not sure if it gonna be easier and/or faster though.

(But the real solution is to fix driver-driver in gcc.)
 
If you still have the PowerMac from your signature (Dual 1.8 GHz Sonnet Encore), that should be decent to build from source natively. Huge stuff gonna take a while still, but otherwise it should not be a pain.
I have Dual 2.3, and it feels generally okay.
I do. gcc7 and libgcc7 are brutal, though.
 
I do. gcc7 and libgcc7 are brutal, though.

You just haven’t tried to build guile 3 :)

For Rosetta, in principle you should be able to install 10.6 on MacMini 2012 (custom kernel needed, it is available publicly) and build for older SDK.
Setting up Macports to build only for ppc in Rosetta works fine. There are minor complications, but it is doable.
Still, multicore G5s gonna be faster, just give them a lot of RAM and SSD.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.