Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
I have a 1.25Ghz G5 PowerPC mini with 1GB of RAM and soon, a 120GB SSD. It's currently running 10.4.11, Tiger. Can I run Clouded Leopard on that? Or, do I need Leopard, first? If so, is there anywhere to get Leopard at this late date?

There are a couple of places you can look to find Leopard, if you want to move up from Tiger, but before you begin to try out Snow Leopard.

One place is archive-dot-org, where there are several retail and OEM DVD images available. I just did a quick search there and found the 10.5.6 retail DVD image, which is probably the safest bet to skip Leopard’s earlier teething pains and to get it up to 10.5.8 with security updates, via Software Update.

The other is the garden, where there’s a page with all the PowerPC retail releases compiled in one place.
 
or you can clone the 10A190 pre-installed image which is more experimental at the moment, but @barracuda156 provides support for MacPorts on that version. It really depends on what you’re looking to get out of it - both are pre-release software that require continued tinkering and it is not a completed project.

For development in particular, 10A190 works perfectly fine, and arguably better than 10A96 (where even Macports does not work: at least, no one could fix it so far). It makes things easier when SDK is closer to the released one, since that is what other software expects. Less fixes needed, easier to bring it closer to 10.6.8.
 
  • Like
Reactions: ChrisCharman
May be worth changing type in /usr/include/pthread.h to const char*:
Code:
int        pthread_setname_np(const char*);
Later 10.6.x uses const char* here, Macports uses it in legacysupport, some other software does as well. Having conflicting defines can break compilation.

Another change I can recommend is commenting out the following in /usr/include/dispatch/libdispatch.h:

Code:
// #if !defined(__BLOCKS__)
// #error "Libdispatch requires Blocks"
// #endif

It does no good and unnecessarily breaks anything which includes this header. 10.6.8 header does not have this.
 
Does anyone know if these can be accessed via preprocessor macros?

I am thinking how is may be possible to differentiate at compile time between pre-release 10.6 PPC and release 10.6.x Rosetta.

So well, at least a full path to the header works: /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/libkern/version.h
Then you can do like:
Code:
#if version_stage == 0x20
. . .
code for 10A190
. . .
#endif
 
Another change I can recommend is commenting out the following in /usr/include/dispatch/libdispatch.h:

Code:
// #if !defined(__BLOCKS__)
// #error "Libdispatch requires Blocks"
// #endif

It does no good and unnecessarily breaks anything which includes this header. 10.6.8 header does not have this.

Another broken header: /System/Library/Frameworks/InputMethodKit.framework/Versions/A/Headers/IMKServer.h
It includes #import <Carbon/CarbonPriv.h>, which does not exist.
I guess, comment it out.
 
Slightly OT. Question to more experienced guys.
Does gdb work in pure PPC enviroment in the same way it does on Intel? Can I step thru lines of code in it? If so, which version of Xcode should I use?
I want to play around a bit on a G4 PowerBook running 10.5.8.
 
Slightly OT. Question to more experienced guys.
Does gdb work in pure PPC enviroment in the same way it does on Intel? Can I step thru lines of code in it? If so, which version of Xcode should I use?
I want to play around a bit on a G4 PowerBook running 10.5.8.

You should probably start a new topic for this question.

This thread is intended specifically for SL-PPC, not 10.5.8. To wit: only the bundled Xcode with Build 10A96 and 10A190, Xcode 3.2, will work on SL-PPC. Cheers.
 
  • Like
Reactions: Larsvonhier
What I want to do is, actually, SL on PPC related. I just want to make sure that everything works as expected in 'legit' enviroment first. Hence the question.
 
Slightly OT. Question to more experienced guys.
Does gdb work in pure PPC enviroment in the same way it does on Intel? Can I step thru lines of code in it? If so, which version of Xcode should I use?
I want to play around a bit on a G4 PowerBook running 10.5.8.

It works, though I have no idea if it works “the same way” (not using it on Intel).

There are two choices you got, and I recommend having both, results may differ somewhat: gdb from Xcode (use 10A190 Xcode on 10A190) and gdb-apple from Macports.
The latter may not build on 10.6 PPC as-is, in that case use my branch: https://github.com/barracuda156/macports-ports/tree/snow-ppc/devel/gdb-apple

(I think it is slightly outdated, I will try to get time to deal with rebasing it soon. Or just add the fix from my branch to whatever gdb-apple is in the master now.)

UPD June 08, 2023. Macports updated gdb-apple, and the newer version does not link on 10A190 at the moment – due to DebugSymbols (private framework) lacking one required symbol. I will make an update disabling that symbol soon. However, a better solution may be to borrow the framework from a later build, since ppc slices are all through 10.6.8. That has to be tested though.
 
Last edited:
  • Like
Reactions: ChrisCharman
Thanks! I took CLI tools from Xcode 3.1.4 for the time being. I forgot how useless the gdb can be without a help of a decent gdbinit. It's pitty there isn't something like that for PPC :(
 
Last edited:
Xcode from 10A261 has another component broken for ppc, as. If you install cctools from Xcode 10A261, you need to replace three components:

gnumake
ld
as

The last one in two locations:

/usr/bin
/usr/libexec/gcc/darwin/ppc/as

And perhaps this one too:

/usr/libexec/gcc/darwin/ppc64/as

After that gcc works:

Code:
36-195% gcc -v
Using built-in specs.
Target: powerpc-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5634~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/usr/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1 --program-prefix= --host=powerpc-apple-darwin10 --target=powerpc-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5634)
36-195% gcc /Users/svacchanda/HelloWorld.c -o hello
36-195% /Users/svacchanda/hello
hello, world

While my earlier conclusion was that it gives no practical benefit to upgrade from 10A190 Unix tools, now I got a provisional evidence it may make sense: ghc 7.6.3 seems to consistently fail on 10A190 with its native tools, while it built earlier with updated tools, and builds right now on 10.5.8 (which has somewhat newer tools than 10A190).
Just FYI.

UPD. Unconfirmed, I still cannot rebuild ghc on 10.6 ppc. Out of ideas, really.
 
Last edited:
  • Like
Reactions: ChrisCharman
I finally got Rstan to build with a help from Stan developer who made a patched version which does not depend on libv8. Took several hours to figure out how to solve several errors with which the build was consistently failing. It worked through completion now.

However test model compilation in Rstan still fails, referring to libtbb: https://discourse.mc-stan.org/t/ove...r-make-v8-build-on-powerpc-mac-r-4-1-2/25432/

View attachment 1923399

Belated update, everything fixed, works and available in Macports :)
 
  • Like
Reactions: pc297
I have fixed Transmission 4.0.3 for PowerPC. Well, kind of: only command-line interface works at the moment :rolleyes:
GUI builds but crashes at launch. I will see if that is fixable. The error looks like this: https://github.com/transmission/transmission/issues/5627#issuecomment-1601665074

You have to install specifically transmission-x11; regular one uses Cocoa, and won’t build. They are at the same version, just different GUI.
 
Some things still have to be sorted out, but likely we get LMMS running, recent version (previous from the current):

lmms.png
 
While my earlier conclusion was that it gives no practical benefit to upgrade from 10A190 Unix tools, now I got a provisional evidence it may make sense: ghc 7.6.3 seems to consistently fail on 10A190 with its native tools, while it built earlier with updated tools, and builds right now on 10.5.8 (which has somewhat newer tools than 10A190).
Just FYI.

UPD. Unconfirmed, I still cannot rebuild ghc on 10.6 ppc. Out of ideas, really.

Re Unix tools from 10A222: while they certainly do work, substantially more components have to be replaced with ones from 10A190, provided you bump into a need for those. I did eventually.
So perhaps it is still wise to stay with Xcode and tools from 10A190 until it is proven there is a benefit from upgrading.

Ideally we would want to have the following:

1. Install the latest Xcode that does work (10A222 or later?).
2. Make a pkg to update whatever is updatable for Xcode and Unix tools (possibly with versions from 10.6.8 or whatever we have sources for and what is tested and actually confirmed to work).

That will be usable without pain then. However, doing this requires quite a bit of time, and time is scarce.
 
Dunno if it is worth much, but Transmission-qt 2.94 (the last in 2.x) builds for PowerPC with no effort. Literally, no patches, just run the build. Binary launches with GUI.

Support for Qt4 has been trashed in 3.0. Likely restorable, though again, no idea if we get any advantage that way.
 
  • Like
Reactions: AnonMac50
It may be worth changing a chunk of code in /usr/include/utmp.h from its 10.5 version borrowed into 10A190:

Code:
struct lastlog {
    time_t    ll_time;
    char    ll_line[UT_LINESIZE];
    char    ll_host[UT_HOSTSIZE];
}                    __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA);

struct utmp {
    char    ut_line[UT_LINESIZE];
    char    ut_name[UT_NAMESIZE];
    char    ut_host[UT_HOSTSIZE];
    long    ut_time;
}                    __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA);

to 10.6 proper version:

Code:
struct lastlog {
    time_t    ll_time;
    char    ll_line[UT_LINESIZE];
    char    ll_host[UT_HOSTSIZE];
}                    __deprecated;

struct utmp {
    char    ut_line[UT_LINESIZE];
    char    ut_name[UT_NAMESIZE];
    char    ut_host[UT_HOSTSIZE];
    long    ut_time;
}                    __deprecated;
 
  • Like
Reactions: ChrisCharman
IMG_8563.png
Hi guys. Got a spare few hours today so started looking for a few more builds for ideas, and found this listing of build numbers for iOS6.

If the build numbers are correct, that would mean that Apple either reused the build numbers we’re looking for, used the Snow Leopard developer builds as a base for iOS6 or there is some other internal build versioning system that we are unfamiliar with.

My only point really is that this makes locating further pre-release builds even more difficult.

Has anyone else had any luck finding anything useful since I was last here, or made any progress, on the actual Developer Preview builds? I’ve missed tinkering with this stuff.
 
I've got a imac PPC G4 that I tried to upgrade to 10.5.2 and it barfed. I would get about half way through the install and freeze. I replaced the memory, tried with half memory and tried copying intall onto the internal hard drive and running the install there and still it would freeze in the middle. (ideas would be appreciated).
So, maybe install 10.6 if possible (or am I asking for more trouble since 10.5.2 didn't work?)

@vddrnnr - what did you do to get 10.6 to install natively?

In the past, I've edited the 'plaform' file to add the machine definition from an older file which had my machine code in it. I'm not sure how to find these codes as at the time, I just hacked my way to get it to install. I suspect they are HEX but not sure.
 
I've got a imac PPC G4 that I tried to upgrade to 10.5.2 and it barfed. I would get about half way through the install and freeze. I replaced the memory, tried with half memory and tried copying intall onto the internal hard drive and running the install there and still it would freeze in the middle. (ideas would be appreciated).
So, maybe install 10.6 if possible (or am I asking for more trouble since 10.5.2 didn't work?)

@vddrnnr - what did you do to get 10.6 to install natively?

In the past, I've edited the 'plaform' file to add the machine definition from an older file which had my machine code in it. I'm not sure how to find these codes as at the time, I just hacked my way to get it to install. I suspect they are HEX but not sure.
Just to chime in on this, unless you’re comfortable with installing an unsupported OS, you’re safest bet would be to install 10.5.8 on the iMac G4.

In my experience this has been the case of;
1. Install Leopard 10.5 retail DVD (or USB)
2. Use Software Update to upgrade to the 10.5.8 Combo update (plus Security Updates, Quicktime, iTunes, etc).

Try searching for the Leopard retail iso at macintoshgarden.org
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.