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.

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
I have also imaged the 10.6.8 dmg to one of my PowerBook G4’s and after being greeted by the welcome video, have had a quick ‘look around’. Wifi is detected and networks can be selected etc, same with Ethernet and Bluetooth hardware. Manual IP address bug as described previously by @educovas present. Several issues have been carried over from previous builds such as disk unmounting and other bugs and glitches but this image does come with a replaced (10.5.8) Finder and patched hardware accelerated graphics functionality and is as stable as their previously shared 10A222 hybrid image.

This new image generously provided by @educovas is much more useable and stable than might be assumed having read through the last few posts and for anyone comfortable tinkering and testing, i would highly recommend using this build as the base system from which to work from if joining this project.

10A190 Xcode 3.2 beta installs and is functional.

I’ve only had a cursory look through the ‘patch’ zip file that contains all replaced components, but other than the 10.6.8 kernel compiled from AOSP and a few other binaries described previously for 10A222 to enable the system to reach desktop, most files appear to have been ported from other builds by copying them across, which means there is much scope remaining to rebuild, patch and polish this gem of a system with time and community effort until it is nice and shiny.

Very exciting. Thanks again @educovas!
 
  • Like
Reactions: barracuda156

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Dealing specifically with the airport interface (en1) if I join my home network (WPA2 encryption) and then configure the connection manually (specifying IP address, netmask, router, and DNS) I can ping public IP addresses and establish SSH connections.

DNS resolution is not working. It is possible to pull up webpages in a browser if they are default content for a specific IP address. Load balanced sites (like Google) are a no go at the moment. Putting one of the Google IP addresses in the URL bar forces a redirect to the F5 and you end up with a non-resolving “http://google.com” that never returns content.
Yeah, there's some sort of internet connection after manually configuring IPs, some people already looked into that but unfortunately no progress. The problem seems to be in CoreFoundation, LibSystem or kernel (most likely).
I have also imaged the 10.6.8 dmg to one of my PowerBook G4’s and after being greeted by the welcome video, have had a quick ‘look around’. Wifi is detected and networks can be selected etc, same with Ethernet and Bluetooth hardware. Manual IP address bug as described previously by @educovas present. Several issues have been carried over from previous builds such as disk unmounting and other bugs and glitches but this image does come with a replaced (10.5.8) Finder and patched hardware accelerated graphics functionality and is as stable as their previously shared 10A222 hybrid image.

This new image generously provided by @educovas is much more useable and stable than might be assumed having read through the last few posts and for anyone comfortable tinkering and testing, i would highly recommend using this build as the base system from which to work from if joining this project.

10A190 Xcode 3.2 beta installs and is functional.

I’ve only had a cursory look through the ‘patch’ zip file that contains all replaced components, but other than the 10.6.8 kernel compiled from AOSP and a few other binaries described previously for 10A222 to enable the system to reach desktop, most files appear to have been ported from other builds by copying them across, which means there is much scope remaining to rebuild, patch and polish this gem of a system with time and community effort until it is nice and shiny.

Very exciting. Thanks again @educovas!
I've tried to fix the disk unmount bug but no luck, i guess it still happens because like 90% of the replaced binaries are from 10A190 (Applications, /bin, /sbin and /usr) some of them can definitely be updated compiling from AOSP but not all. Most of the other files are to make the 10A190 apps work, Graphics acceleration, bluetooth and WiFi, without those pretty much all frameworks would be stock. This build seems to be considerably more stable for me once i disabled sleep, compared to 10A222, my guess is because i'm using patched stock Apple kernel, the AOSP refuses to work on late 2005 PMG5s.

Xcode 3.2.6 also seems to work but it randomly crashes on garbage collection

98% of this build has been done by a single person, i'm sure a whole community can do much better.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
I want to thank all of you for the hard work you have put in on this project!

@educovas, the progress you made recently was enough to finally convince me I should get serious about acquiring a (very!) long desired computer. I want be able to help in some small part. To that end I obtained a nice condition PowerBook5,9 and a set of external FireWire 800 (2.5”) drives for testing/dev purposes.

I’ve been tinkering with the image provided above since last night and managed to make a little progress on the networking issue. I haven’t identified the root cause of the current behavior yet but I did manage to get a working network interface.

Dealing specifically with the airport interface (en1) if I join my home network (WPA2 encryption) and then configure the connection manually (specifying IP address, netmask, router, and DNS) I can ping public IP addresses and establish SSH connections.

DNS resolution is not working. It is possible to pull up webpages in a browser if they are default content for a specific IP address. Load balanced sites (like Google) are a no go at the moment. Putting one of the Google IP addresses in the URL bar forces a redirect to the F5 and you end up with a non-resolving “http://google.com” that never returns content.

I have not yet tried setting up a hosts file (kinda late for me now) to see if local domain resolution works but will give it a go tomorrow if no one else does before I get to it.

I wanted to post this before I get any further along in case someone else can use the info as a springboard for faster progress than I am able to make.

Yes, this is the state we were at. DNS/DHCP are broken, non-encrypted http pages can be loaded with exact IP.
This is on my PowerMac 2.3 back in summer:

338563036-8a4cdf53-01e8-4f07-956f-f881366fb19c.jpeg
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
10A190 Xcode 3.2 beta installs and is functional.

As I recall, there were some issues with using it: that should be the case in fact, since it installs a different SDK and, AFAIK, overwrites some files in /usr.
While it may be possible to install Xcode from 10A190 and manually replace SDK and Unix tools, I would rather recommend going the opposite way: install Xcode 3.2.6 and replace Intel-only binaries of Unix tools etc. with the ones from 10A190. A better way would be to rebuild from source whatever lacks ppc slices, of course.

That way I could build gcc10 without 10A190-specific hacks (i.e. in its standard config) and build gcc15 then, which I used for running gfortran tests. So I am reasonably sure at least fundamental Unix tools are functional.

What might turn an issue, and not investigated so far, is that some components in system Frameworks are pulled over from 10.5.8, and that may or may not need adjustments with everything else. I do not know at the moment if OpenGL stuff, built against 10.6.8 SDK, will work correctly with this image, or we need to tweak headers.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Yeah, there's some sort of internet connection after manually configuring IPs, some people already looked into that but unfortunately no progress. The problem seems to be in CoreFoundation, LibSystem or kernel (most likely).

Issue is that whomever I know who might be able to help with this are physically elsewhere, and setting up remote access seems impossible at the moment (BTW, tmate is just broken on ppc generally). I know nothing how networking stuff works myself, unfortunately.

Possibly in December my friend who works in this field may visit TW and, if he has time, try doing something about this on my PowerMac.
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
As I recall, there were some issues with using it: that should be the case in fact, since it installs a different SDK and, AFAIK, overwrites some files in /usr.
While it may be possible to install Xcode from 10A190 and manually replace SDK and Unix tools, I would rather recommend going the opposite way: install Xcode 3.2.6 and replace Intel-only binaries of Unix tools etc. with the ones from 10A190. A better way would be to rebuild from source whatever lacks ppc slices, of course.

That way I could build gcc10 without 10A190-specific hacks (i.e. in its standard config) and build gcc15 then, which I used for running gfortran tests. So I am reasonably sure at least fundamental Unix tools are functional.

What might turn an issue, and not investigated so far, is that some components in system Frameworks are pulled over from 10.5.8, and that may or may not need adjustments with everything else. I do not know at the moment if OpenGL stuff, built against 10.6.8 SDK, will work correctly with this image, or we need to tweak headers.
Thanks @barracuda156. I usually start with 10A190 Xcode for the IDE and basic command line tools then compile the required tools etc for the projects and replace them with the later source versions but will keep this in mind when i start tinkering properly after the move.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Thanks @barracuda156. I usually start with 10A190 Xcode for the IDE and basic command line tools then compile the required tools etc for the projects and replace them with the later source versions but will keep this in mind when i start tinkering properly after the move.

Provided we talk about 10.6.8 specifically now (I do not recommend any other Xcode besides its native one on 10A190), it will take more to replace (or rebuild) if one starts from the 10A190 version to get to the “up-to-date” state. Perhaps considerably more.

We know for sure that Xcode 3.2.6 works perfectly fine due to the fact that it can be used on released 10.6.8 with Rosetta to build ppc binaries. I do not think there is any reason to use older versions, as long as target = host. No benefit in having older versions of system compilers etc.
Xcode 3.2.6 will not work out of the box though, since a number of tools, including a few fundamental ones, lack ppc slices.
If you prefer Xcode from 10A190 on 10.6.8 for w/e reason, you will need to replace SDK as the very minimum, since they differ quite a bit.

P. S. I am away from all powerpc hardware for a while, so cannot check anything until I am back.
 
  • Like
Reactions: ChrisCharman

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
Provided we talk about 10.6.8 specifically now (I do not recommend any other Xcode besides its native one on 10A190), it will take more to replace (or rebuild) if one starts from the 10A190 version to get to the “up-to-date” state. Perhaps considerably more.

We know for sure that Xcode 3.2.6 works perfectly fine due to the fact that it can be used on released 10.6.8 with Rosetta to build ppc binaries. I do not think there is any reason to use older versions, as long as target = host. No benefit in having older versions of system compilers etc.
Xcode 3.2.6 will not work out of the box though, since a number of tools, including a few fundamental ones, lack ppc slices.
If you prefer Xcode from 10A190 on 10.6.8 for w/e reason, you will need to replace SDK as the very minimum, since they differ quite a bit.

P. S. I am away from all powerpc hardware for a while, so cannot check anything until I am back.
Yeah i understood that from your previous message @barracuda156, thanks for pointing that out and confirming that 3.2.6 functions. If it doesn’t work out-of-box however then another build system or another machine is required to build the replacement tools from source which is what i was referring to, unless the binaries are simply copied from one version to another which is another option but I prefer to build the tools myself personally. If it will save time i may just cross-compile the needed tools on a 10.6.8 intel machine and then drop those into 3.2.6 but i’m in the middle of moving home right now so won’t be for a little while.
 
  • Like
Reactions: barracuda156

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Yeah i understood that from your previous message @barracuda156, thanks for pointing that out and confirming that 3.2.6 functions. If it doesn’t work out-of-box however then another build system or another machine is required to build the replacement tools from source which is what i was referring to, unless the binaries are simply copied from one version to another which is another option but I prefer to build the tools myself personally. If it will save time i may just cross-compile the needed tools on a 10.6.8 intel machine and then drop those into 3.2.6 but i’m in the middle of moving home right now so won’t be for a little while.

What I did myself was simply to replace whatever I needed to with binaries from 10a190 installation (I have several systems installed on the same machine + FW drive with a clean installation of 10a190 to source components from if needed). Mostly ones to replace will be in /usr/bin and /Developer/usr/bin, I think also gcc’s linker inside its directory (in /usr and in /Developer/usr).

To do it properly, IMO, would require installing Xcode 3.2.6 first, then checking what does not have ppc slices, build from source whatever possible, replace with ones from earlier builds what does not have source code available.

I understand there is kinda chicken-n-egg problem here, since you need Unix tools to build Unix tools, so perhaps cross-compiling from an Intel system with Rosetta may be a better way to do that, rather than going in rounds of replacing binaries first with those from 10a190 and then with rebuilt ones. In fact, Apple gcc is built that way even on 10a190 (i.e. with --build=i386-apple-darwin10 or something similar, even when --target=powerpc-apple-darwin10).
 
  • Love
Reactions: ChrisCharman

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
What I did myself was simply to replace whatever I needed to with binaries from 10a190 installation (I have several systems installed on the same machine + FW drive with a clean installation of 10a190 to source components from if needed). Mostly ones to replace will be in /usr/bin and /Developer/usr/bin, I think also gcc’s linker inside its directory (in /usr and in /Developer/usr).

To do it properly, IMO, would require installing Xcode 3.2.6 first, then checking what does not have ppc slices, build from source whatever possible, replace with ones from earlier builds what does not have source code available.

I understand there is kinda chicken-n-egg problem here, since you need Unix tools to build Unix tools, so perhaps cross-compiling from an Intel system with Rosetta may be a better way to do that, rather than going in rounds of replacing binaries first with those from 10a190 and then with rebuilt ones. In fact, Apple gcc is built that way even on 10a190 (i.e. with --build=i386-apple-darwin10 or something similar, even when --target=powerpc-apple-darwin10).
Yeah exactly. Glad to see that someone has had some time to play with this build already and can help myself and others avoid retreading covered ground. Looking forward to seeing what can be done with the full force of the community ‘chipping in’ again.
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
Yes, this is the state we were at. DNS/DHCP are broken, non-encrypted http pages can be loaded with exact IP.

Two updates.

I have added the following line to the bottom of /etc/hosts and it allows me to use Google as expected in a web browser:


This proves that local name resolution does work. I suspect the networking problems stem from the Unix (Darwin) underpinnings rather than the proprietary bits running on top of it. DNS stuff runs in userland in FreeBSD as far as I know so I don't think it is the kernel either (since Darwin's userland was heavily derived from FreeBSD).

The second update is that you actually can set up remote access to this OS as it stands now. You just need to do a little reverse port mapping using SSH to accomplish it.

If you have configured the interface manually as I mentioned in my first post (en0 should be the same as what I tested with en1) you can use a command line login from Terminal of the following format (patterned after what I just did moments ago):

ssh -C -R 2222:localhost:22 username@<IPADDRESS>

The example above maps port 2222 on the computer I'm logging into back to port 22 on my local computer. The effect is that once I have completed the login I can then use this command on the remote computer to log back into my PowerBook:

ssh -C -p 2222 username@localhost

The first command uses compression ("-C") to get a little better performance but the real magic is in the "-R" switch. The first number is a port you want to map to on a remote computer followed by the computer name resolvable by the computer you are logging into, finally followed by the port of the LOCAL computer you want that remote port to map to.

Note that you can map any port you like this way -- though that first number should be out of the standard port listing so you don't encounter one that already has a listener set up on that remote computer (such as "22" for example). In the past I have done this with VNC and RDP ports without any issues whatsoever. I don't doubt you can do the same here.

Also note that though my example uses "localhost" it could be any computer resolvable for the computer you are logging into. You could log into one computer on a remote network and set up a listener for a completely different computer on that network if it is more convenient for you. I've done this when I have a gateway computer on a network but want the reverse port mapping available only on a non-internet accessible computer on that network.

I hope that at least @barracuda156 might find this useful.
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
Two updates.

I have added the following line to the bottom of /etc/hosts and it allows me to use Google as expected in a web browser:



This proves that local name resolution does work. I suspect the networking problems stem from the Unix (Darwin) underpinnings rather than the proprietary bits running on top of it. DNS stuff runs in userland in FreeBSD as far as I know so I don't think it is the kernel either (since Darwin's userland was heavily derived from FreeBSD).

The second update is that you actually can set up remote access to this OS as it stands now. You just need to do a little reverse port mapping using SSH to accomplish it.

If you have configured the interface manually as I mentioned in my first post (en0 should be the same as what I tested with en1) you can use a command line login from Terminal of the following format (patterned after what I just did moments ago):



The example above maps port 2222 on the computer I'm logging into back to port 22 on my local computer. The effect is that once I have completed the login I can then use this command on the remote computer to log back into my PowerBook:



The first command uses compression ("-C") to get a little better performance but the real magic is in the "-R" switch. The first number is a port you want to map to on a remote computer followed by the computer name resolvable by the computer you are logging into, finally followed by the port of the LOCAL computer you want that remote port to map to.

Note that you can map any port you like this way -- though that first number should be out of the standard port listing so you don't encounter one that already has a listener set up on that remote computer (such as "22" for example). In the past I have done this with VNC and RDP ports without any issues whatsoever. I don't doubt you can do the same here.

Also note that though my example uses "localhost" it could be any computer resolvable for the computer you are logging into. You could log into one computer on a remote network and set up a listener for a completely different computer on that network if it is more convenient for you. I've done this when I have a gateway computer on a network but want the reverse port mapping available only on a non-internet accessible computer on that network.

I hope that at least @barracuda156 might find this useful.
The network stack in OS X is heavily based on BSD so what you’ve done so far makes perfect sense. Great work @FBSD_Mac! If you’re comfortable building from source and understand which components are needed i’d suggest reviewing the AOSP for 10.6.8.
 

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
One small fix for the JavaVM crash i found while trying Minecraft on 10.6.8. Replace /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText with the one attached.

Posting this from my PMG5 running 10.6.8, thanks to @FBSD_Mac.
 

Attachments

  • CoreText.zip
    3.6 KB · Views: 17

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
One small fix for the JavaVM crash i found while trying Minecraft on 10.6.8. Replace /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText with the one attached.

Posting this from my PMG5 running 10.6.8, thanks to @FBSD_Mac.

Which Java are you running on it btw? I think Java framework in 10a190 is defunct, being either completely or mostly x86-only. Not sure if I checked, but I suspect 10.6.8 is identical in this regard.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Yeah exactly. Glad to see that someone has had some time to play with this build already and can help myself and others avoid retreading covered ground. Looking forward to seeing what can be done with the full force of the community ‘chipping in’ again.

I guess you have more experience with rebuilding stuff from AOS, but in any case we should coordinate this somehow to avoid doing the same work twice or more. Xcode is the necessity, so it is desirable to arrive either to an all-in pkg which will install Xcode 3.2.6 with complete ppc support or an update pkg, like you did for libxml2, which will replace whatever needed after installing standard 3.2.6.

Once I am back (within 2 weeks), I will check whether a) libdispatch is functional (if it is not, I have a replacement, but hopefully that won’t be needed) and b) OpenGL and related stuff sourced from 10.5.8 is compatible with software which uses it (this may or may not turn out to be a trouble).
 
  • Like
Reactions: ChrisCharman

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Two updates.

I have added the following line to the bottom of /etc/hosts and it allows me to use Google as expected in a web browser:



This proves that local name resolution does work. I suspect the networking problems stem from the Unix (Darwin) underpinnings rather than the proprietary bits running on top of it. DNS stuff runs in userland in FreeBSD as far as I know so I don't think it is the kernel either (since Darwin's userland was heavily derived from FreeBSD).

The second update is that you actually can set up remote access to this OS as it stands now. You just need to do a little reverse port mapping using SSH to accomplish it.

If you have configured the interface manually as I mentioned in my first post (en0 should be the same as what I tested with en1) you can use a command line login from Terminal of the following format (patterned after what I just did moments ago):



The example above maps port 2222 on the computer I'm logging into back to port 22 on my local computer. The effect is that once I have completed the login I can then use this command on the remote computer to log back into my PowerBook:



The first command uses compression ("-C") to get a little better performance but the real magic is in the "-R" switch. The first number is a port you want to map to on a remote computer followed by the computer name resolvable by the computer you are logging into, finally followed by the port of the LOCAL computer you want that remote port to map to.

Note that you can map any port you like this way -- though that first number should be out of the standard port listing so you don't encounter one that already has a listener set up on that remote computer (such as "22" for example). In the past I have done this with VNC and RDP ports without any issues whatsoever. I don't doubt you can do the same here.

Also note that though my example uses "localhost" it could be any computer resolvable for the computer you are logging into. You could log into one computer on a remote network and set up a listener for a completely different computer on that network if it is more convenient for you. I've done this when I have a gateway computer on a network but want the reverse port mapping available only on a non-internet accessible computer on that network.

I hope that at least @barracuda156 might find this useful.

Awesome, thank you!

Since @educovas has fixed a bug with RAM restriction, broken internet is the only major issue. Once we get it working properly, hopefully, a lot of problems will be solved automatically due to SDK being nearly what other software expects of 10.6. That may enable building some stuff like Qt and browsers against native SDK (which does not work with 10a190).
 
  • Like
Reactions: ChrisCharman

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
Which Java are you running on it btw? I think Java framework in 10a190 is defunct, being either completely or mostly x86-only. Not sure if I checked, but I suspect 10.6.8 is identical in this regard.

At least one X11 library needs to be replaced as well as its version 5.0 and needs to be 6.0.

I guess you have more experience with rebuilding stuff from AOS, but in any case we should coordinate this somehow to avoid doing the same work twice or more. Xcode is the necessity, so it is desirable to arrive either to an all-in pkg which will install Xcode 3.2.6 with complete ppc support or an update pkg, like you did for libxml2, which will replace whatever needed after installing standard 3.2.6.

Once I am back (within 2 weeks), I will check whether a) libdispatch is functional (if it is not, I have a replacement, but hopefully that won’t be needed) and b) OpenGL and related stuff sourced from 10.5.8 is compatible with software which uses it (this may or may not turn out to be a trouble).

I was literally thinking about making an Xcode tools patch/installer last night so that I don’t need to keep rebuilding the same tools now that we have the latest kernel, as previously I was playing with multiple builds and systems. Happy to have a look at this after I’ve moved and share here unless someone else beats me to it. Lots of dispatch queue errors in my brief ‘play’ with the build so libdispatch definitely needs some attention. Hopefully your work on the MacPorts version may help here.

Awesome, thank you!

Since @educovas has fixed a bug with RAM restriction, broken internet is the only major issue. Once we get it working properly, hopefully, a lot of problems will be solved automatically due to SDK being nearly what other software expects of 10.6. That may enable building some stuff like Qt and browsers against native SDK (which does not work with 10a190).
I wondered why the memory benchmark was lower than on 10.5.8. Fortunately with @educovas patching most of the system to create a stable 10.6.8 desktop environment, fixing the remaining bugs together collectively should be an achievable goal.
 
Last edited:

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
I was literally thinking about making an Xcode tools patch/installer last night so that I don’t need to keep rebuilding the same tools now that we have the latest kernel, as previously I was playing with multiple builds and systems. Happy to have a look at this after I’ve moved and share here unless someone else beats me to it.

That would be very helpful, if you handle Xcode stuff. While I could deal with that, it is not the area I am good at )

Lots of dispatch queue errors in my brief ‘play’ with the build so libdispatch definitely needs some attention. Hopefully your work on the MacPorts version may help here.

To be clear, libdispatch port in fact does not use anything MacPorts- even for building, and does not link to any MacPorts-supplied libraries. If you look at the portfile code, environment is sterilized so that MacPorts does not add its flags during the build and MacPorts compilers are blacklisted: https://github.com/macports/macport...f9ba65e2489/devel/libdispatch-legacy/Portfile
I had to add a couple of trivial patches to make it compile, but it uses only Apple tools and installs into a system subprefix. It is designed to be completely independent of MacPorts, and one can install it and remove MacPorts, it won’t be affected.

The same approach could be used to build anything from AOS, though I am not sure it is the optimal or easier way to do that. But for the record, MacPorts (as well as, perhaps, pkgsrc etc.) as such can be used as a build system without introducing any internal dependencies or using any MacPorts-specific tools for compilation.

On a more general note, ports which have only build dependencies (as opposed to lib dependencies) do not rely on MacPorts either and can be used normally with MacPorts itself with its ports tree being removed from the system. Some bootstrap ports are done this way, for example:
Code:
% port deps libcxx-powerpc
Full Name: libcxx-powerpc @7.1.1_1+emutls
Extract Dependencies: xz-bootstrap, xz
Build Dependencies:   cmake-bootstrap, python27-bootstrap, gcc10-bootstrap
Library Dependencies: gcc10-bootstrap
% port deps gcc10-bootstrap
gcc10-bootstrap @10.5.0_0 has no dependencies.

In this case `gcc10-bootstrap` is built with Xcode tools and gets installed into its own subprefix, without relying on anything of MacPorts, and libc++ only depends on gcc10-bootstrap (ideally it should not, but on 32-bit it presently uses libatomic). Everything else is only used for the build, and thus can be uninstalled once libc++ is built.
 

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Which Java are you running on it btw? I think Java framework in 10a190 is defunct, being either completely or mostly x86-only. Not sure if I checked, but I suspect 10.6.8 is identical in this regard.
I've installed Java 6 from Macintosh Garden. What was crashing was JavaVM framework (/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries/libawt.jnilib to be more specific) due to a missing symbol in CoreText (from 10A190 or 10A222). No idea if it was actually using it but it wouldn't allow me to run Minecraft without updating CoreText's stubs.

Once I am back (within 2 weeks), I will check whether a) libdispatch is functional (if it is not, I have a replacement, but hopefully that won’t be needed) and b) OpenGL and related stuff sourced from 10.5.8 is compatible with software which uses it (this may or may not turn out to be a trouble).
I'd expect that anything using OpenGL features that were introduced in 10.6 won't work. If the software uses features that were already implemented in 10.5.8, it should work.

I wondered why the memory benchmark was lower than on 10.5.8. Fortunately with @educovas patching most of the system to create a stable 10.6.8 desktop environment, fixing the remaining bugs together collectively should be an achievable goal.
For some reason the memory allocation benchmark from Xbench is extremely low compared to 10.5.8, the other tests are good. The Geekbench memory benchmark scored considerably higher on 10.6.8 (all tests were much better on 10.6.8). Hopefully it's just a bug that can be resolved with more updated AOSP binaries.
 
  • Like
Reactions: barracuda156

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
I've installed Java 6 from Macintosh Garden. What was crashing was JavaVM framework (/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries/libawt.jnilib to be more specific) due to a missing symbol in CoreText (from 10A190 or 10A222). No idea if it was actually using it but it wouldn't allow me to run Minecraft without updating CoreText's stubs.

Got it, thank you.
Good to know it is usable. While openjdk8 builds for powerpc now and is functional, it does not support GUI at the moment (and if that is fixed, it will rely on X11 and not native libs, because Java framework in 10.6.x has no support for ppc, and AWT libraries want that).

I'd expect that anything using OpenGL features that were introduced in 10.6 won't work. If the software uses features that were already implemented in 10.5.8, it should work.

We will probably need to do identical replacements of components in SDK as well (in /Developer/SDKs), otherwise some software can get confused by mismatching headers and conflicting symbols in libraries.
 
  • Like
Reactions: educovas

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
The network stack in OS X is heavily based on BSD so what you’ve done so far makes perfect sense. Great work @FBSD_Mac! If you’re comfortable building from source and understand which components are needed i’d suggest reviewing the AOSP for 10.6.8.
@ChrisCharman, I have built from source on other operating systems so I'm game to give it a try.

I found the link for AOSP in the first post of this thread but haven't found any obvious way to identify projects focused specifically on 10.6.8 on the Apple site. A helpful hint or two would be appreciated here!

In the mean time, I believe I have identified at least a very likely pair of candidates for the DNS issues. There are two binaries in /usr/sbin/ named mDNSResponder and mDNSResponderHelper which from the documentation I have found are supposed to control DNS management for the OS.

I don't yet have access to other developer release updates by the community but swapping in the corresponding binaries from 10.5.8 broke all external packet routing even with manual configuration of the network interfaces. Loopback address pinging still worked (including to manually assigned IP addresses) but all else was broken.

If we have working networking in a relatively close DP to the GM I suggest trying the next newest verified working versions of those binaries in the GM (10.6.8) image we are playing with now.
 
  • Like
Reactions: ChrisCharman

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
@ChrisCharman, I have built from source on other operating systems so I'm game to give it a try.

I found the link for AOSP in the first post of this thread but haven't found any obvious way to identify projects focused specifically on 10.6.8 on the Apple site. A helpful hint or two would be appreciated here!

In the mean time, I believe I have identified at least a very likely pair of candidates for the DNS issues. There are two binaries in /usr/sbin/ named mDNSResponder and mDNSResponderHelper which from the documentation I have found are supposed to control DNS management for the OS.

I don't yet have access to other developer release updates by the community but swapping in the corresponding binaries from 10.5.8 broke all external packet routing even with manual configuration of the network interfaces. Loopback address pinging still worked (including to manually assigned IP addresses) but all else was broken.

If we have working networking in a relatively close DP to the GM I suggest trying the next newest verified working versions of those binaries in the GM (10.6.8) image we are playing with now.
Here's the link for the AOSP releases, just choose 10.6.8 and you'll see the projects: https://opensource.apple.com/releases/

I think I also replaced mDNSResponder with the one from 10A190 and it also didn't work.

The only Snow Leopard builds that boots so far are 10A222, GM and 10.6.8 (excluding 10A96 and 10A190) and the last build where it worked was 10A222 but it also had some problems like it only would connect properly after a reboot if the date and time were set correctly. The GM build already had this problem.
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
@ChrisCharman, I have built from source on other operating systems so I'm game to give it a try.

I found the link for AOSP in the first post of this thread but haven't found any obvious way to identify projects focused specifically on 10.6.8 on the Apple site. A helpful hint or two would be appreciated here!

In the mean time, I believe I have identified at least a very likely pair of candidates for the DNS issues. There are two binaries in /usr/sbin/ named mDNSResponder and mDNSResponderHelper which from the documentation I have found are supposed to control DNS management for the OS.

I don't yet have access to other developer release updates by the community but swapping in the corresponding binaries from 10.5.8 broke all external packet routing even with manual configuration of the network interfaces. Loopback address pinging still worked (including to manually assigned IP addresses) but all else was broken.

If we have working networking in a relatively close DP to the GM I suggest trying the next newest verified working versions of those binaries in the GM (10.6.8) image we are playing with now.

Here's the link for the AOSP releases, just choose 10.6.8 and you'll see the projects: https://opensource.apple.com/releases/

I think I also replaced mDNSResponder with the one from 10A190 and it also didn't work.

The only Snow Leopard builds that boots so far are 10A222, GM and 10.6.8 (excluding 10A96 and 10A190) and the last build where it worked was 10A222 but it also had some problems like it only would connect properly after a reboot if the date and time were set correctly. The GM build already had this problem.
MDNSResponder is available as an Apple Open Source Project MDNSResponder. As @educovas stated if you filter for only the 10.6.8 tree you can choose the projects relevant to what your trying to rebuild and download the source.
 

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Small update: tried mDNSResponder, mDNSResponderHelper, SystemConfiguration.framework (seems to be a dependency for mDNSResponder, handles some network related stuff) and configd, all from 10A190 which had properly working internet and the result is the exact same as we had before. self-assigned IP, connects with manually setting IPs, pages loading after adding them to /etc/hosts so I don't think any of those are responsible for the problem.

I think in my past tests, I've tried them individually and never combined so these results are new for me.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.