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
Well Xcode (or at least XcodeBuild) is a requirement for many AOSP, plus eventually others may want to build software on the system outside of MacPorts so for my own sanity i plan on updating Xcode when i can find the time. If anyone else gets there first please share here.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
Well Xcode (or at least XcodeBuild) is a requirement for many AOSP, plus eventually others may want to build software on the system outside of MacPorts so for my own sanity i plan on updating Xcode when i can find the time. If anyone else gets there first please share here.

Xcode is required even if one uses MacPorts for everything, since Unix tools and Xcode gcc cannot be avoided. (Xcode GUI is not really important, but it works already anyway.)
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
Xcode is required even if one uses MacPorts for everything, since Unix tools and Xcode gcc cannot be avoided. (Xcode GUI is not really important, but it works already anyway.)
Indeed. It is definitely a must rather than an additional and separate endeavour.

Nobody has chimed in to suggest that this should be moved to its own thread yet so i’m going to do a poll and let the people following along decide.
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
@ChrisCharman, presuming you are referring to Xcode 3.6.2 and not the newer 4.2 version?

In another note, I tried swapping in the 10.5.8 version of libresolv and that had the interesting effect of preventing me from getting a command line prompt in Terminal. No effect on DNS resolution. I didn’t expect it to work but figured I’d try it anyway.

I have also noticed some interesting behavior related to network ports. I like to test accessibility using telnet and specifying a port in this fashion:

telnet 172.217.4.206 80

It seems that this command hangs unless the target is either localhost (or loopback interface) or a name specified in the hosts file. The behavior isn’t absolutely consistent but it makes me wonder if telnet is attempting a reverse DNS lookup somehow. I found this when trying to telnet to port 53 (DNS) for various hosts.

The firewall is “off” with the standard allow ip from any to any rule, but I tried adding one to explicitly allow UDP just in case. No change in behavior.

It is seeming more likely to me as I explore that both @barracuda156 and @educovas are correct that the root cause may be UDP behavior dictated by kernel sources.

Has anyone ever tried to see if networking is functional in an appropriately version matched straight Darwin install? If it did work there it could give us another reference point for triage…
 

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
@educovas @ChrisCharman What do you think about Xcode, in a sense what is the preferred way to have 3.2.6 fully usable on powerpc? This is not something urgently required, of course (since cross-compiling is a workable option), but it will be certainly useful, and given that nobody has infinite free time LOL – and there is a lot of stuff to do – makes sense to avoid or at least minimize duplicate work (here I mean “mechanical” work, not debugging).
A poor man’s fix would be to simply replace components of Unix tools and Xcode which lack ppc slices. That seems to work fine. Unfortunately, however, several important tools (ld, as) fall into this group, and these perhaps should be prioritized to be rebuilt from sources. (Thankfully, there is no need to rebuild gcc – it is perfectly functional as is, aside of the linker binary.)
I don't have plans to work on Xcode since I'm cross compiling and that's enough for me

In another note, I tried swapping in the 10.5.8 version of libresolv and that had the interesting effect of preventing me from getting a command line prompt in Terminal. No effect on DNS resolution. I didn’t expect it to work but figured I’d try it anyway.
Yesterday I did the same but using the one from 10A190, no apparent problems but it didn't fix the problem as expected.

It is seeming more likely to me as I explore that both @barracuda156 and @educovas are correct that the root cause may be UDP behavior dictated by kernel sources.
I really hope it's not the kernel because we can't use an AOSP compiled XNU without causing some annoying problems. It was very unstable for me with a lot of random kernel panics and it won't boot at all on PCIe PMG5.
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
@ChrisCharman, presuming you are referring to Xcode 3.6.2 and not the newer 4.2 version?

In another note, I tried swapping in the 10.5.8 version of libresolv and that had the interesting effect of preventing me from getting a command line prompt in Terminal. No effect on DNS resolution. I didn’t expect it to work but figured I’d try it anyway.

I have also noticed some interesting behavior related to network ports. I like to test accessibility using telnet and specifying a port in this fashion:



It seems that this command hangs unless the target is either localhost (or loopback interface) or a name specified in the hosts file. The behavior isn’t absolutely consistent but it makes me wonder if telnet is attempting a reverse DNS lookup somehow. I found this when trying to telnet to port 53 (DNS) for various hosts.

The firewall is “off” with the standard allow ip from any to any rule, but I tried adding one to explicitly allow UDP just in case. No change in behavior.

It is seeming more likely to me as I explore that both @barracuda156 and @educovas are correct that the root cause may be UDP behavior dictated by kernel sources.

Has anyone ever tried to see if networking is functional in an appropriately version matched straight Darwin install? If it did work there it could give us another reference point for triage…
Yes Xcode 3.2.6 is confirmed as at least partially functional on PowerPC and I believe further hacking would be required to get 4.2 working properly as a PowerPC IDE (though command line tools shouldn’t be too much of a problem) which seems unnecessary at this stage given that all 10.6.8 (internal) projects only require 3.2.

Regarding Darwin and UDP, as this is the first PowerPC Operating System built on the 10.6.8 kernel, to the best of my knowledge, there isn’t a Darwin (Open, Pure or otherwise) to reference for comparison. If you were inclined to do so you could try and get a gnu desktop environment up and running or openstep and experiment but that would be another large endeavour entirely, and require a lot of time.

Perhaps reviewing the 10.6.8 xnu source code may shed some light on the issue? Possibly something has been optimised for x86 architecture that is incompatible with PowerPC and requires rewriting.

I don't have plans to work on Xcode since I'm cross compiling and that's enough for me


Yesterday I did the same but using the one from 10A190, no apparent problems but it didn't fix the problem as expected.


I really hope it's not the kernel because we can't use an AOSP compiled XNU without causing some annoying problems. It was very unstable for me with a lot of random kernel panics and it won't boot at all on PCIe PMG5.
I believe the developer previews were declared API stable at around build 350ish (exact build was detailed in one of my earlier posts) i forget specifically. The more we can replace the ‘donor’ parts with 10.6.8 AOSP the more success we will have i feel. Obviously we can’t replace anything proprietary without serious backwards engineering work involved but anything BSD/GNU/Apache/MIT etc should be achievable with enough time and effort.

Do you recall what any of the issues were specifically with xnu?
 
Last edited:

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Yes Xcode 3.2.6 is confirmed as at least partially functional on PowerPC and I believe further hacking would be required to get 4.2 working properly as a PowerPC IDE (though command line tools shouldn’t be too much of a problem) which seems unnecessary at this stage given that all 10.6.8 (internal) projects only require 3.2.

Regarding Darwin and UDP, as this is the first PowerPC Operating System built on the 10.6.8 kernel, to the best of my knowledge, there isn’t a Darwin (Open, Pure or otherwise) to reference for comparison. If you were inclined to do so you could try and get a gnu desktop environment up and running or openstep and experiment but that would be another large endeavour entirely, and require a lot of time.

Perhaps reviewing the 10.6.8 xnu source code may shed some light on the issue? Possibly something has been optimised for x86 architecture that is incompatible with PowerPC and requires rewriting.


I believe the developer previews were declared API stable at around build 350ish (exact build was detailed in one of my earlier posts) i forget specifically. The more we can replace the ‘donor’ parts with 10.6.8 AOSP the more success we will have i feel. Obviously we can’t replace anything proprietary without serious backwards engineering work involved but anything BSD/GNU/Apache/MIT etc should be achievable with enough time and effort.

Do you recall what any of the issues were specifically with xnu?
I'm building some AOSP projects but that's going to take a long time, I have only 35 projects built so far.

The only issues related to XNU I can remember are the random kernel panics and PCIe PMG5 booting.
 

MacPro2006VBox

macrumors 6502
Oct 9, 2014
357
236
Yes, cross compiling works perfectly, I've built everything I needed on my MacBookPro8,2 running 10.6.8. I should probably start building the AOSP projects since I have no idea of what else I could do to fix bugs.

I wasn't supposed to be working on this anymore but I guess I really want to see 10.6.8 running decently on PowerPC lol

Thank you for your contributions sir… you’re a rockstar! Never thought I’d see Snow Leopard PowerPC be a legit thing… let alone 10.6.8!
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
@ChrisCharman, presuming you are referring to Xcode 3.6.2 and not the newer 4.2 version?

There is no benefit in using 4.2, perhaps even on Intel (MacPorts uses 3.2.6 on buildbots). gcc of 4.2 has no support for ppc, so you need to install 3.2.6 also in order to have at least a working compiler.
When I tried to build ports as universal on 10.6.8 (x86_64 + ppc), I had a set-up with Xcode 4.2 + Xcode 3.2.6, but it just adds unnecessary pain and complicates installation, and you get more breakages to fix. So I quickly discarded that approach.
If you are curious to try it, XcodeLegacy has instructions on how to install that.

Has anyone ever tried to see if networking is functional in an appropriately version matched straight Darwin install? If it did work there it could give us another reference point for triage…

I recall the last PureDarwin was based on darwin8. So there is none to match 10.5 or 10.6, forget ppc.
 
  • Like
Reactions: ChrisCharman

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
I don't have plans to work on Xcode since I'm cross compiling and that's enough for me

Xcode Unix tools are unavoidable thing in order to have the OS properly usable, but we can handle Xcode, I think. (Given that I could build gcc10 with a poor-man version of Xcode 3.2.6 natively on ppc, even that is already good enough, though we would want to rebuild from sources eventually.)
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
I don't have plans to work on Xcode since I'm cross compiling and that's enough for me


Yesterday I did the same but using the one from 10A190, no apparent problems but it didn't fix the problem as expected.


I really hope it's not the kernel because we can't use an AOSP compiled XNU without causing some annoying problems. It was very unstable for me with a lot of random kernel panics and it won't boot at all on PCIe PMG5.

I hope the same!!

Btw, the odd Terminal behavior didn’t show up until I rebooted with the replaced .so file in place.

Yes Xcode 3.2.6 is confirmed as at least partially functional on PowerPC and I believe further hacking would be required to get 4.2 working properly as a PowerPC IDE (though command line tools shouldn’t be too much of a problem) which seems unnecessary at this stage given that all 10.6.8 (internal) projects only require 3.2.

Regarding Darwin and UDP, as this is the first PowerPC Operating System built on the 10.6.8 kernel, to the best of my knowledge, there isn’t a Darwin (Open, Pure or otherwise) to reference for comparison. If you were inclined to do so you could try and get a gnu desktop environment up and running or openstep and experiment but that would be another large endeavour entirely, and require a lot of time.

Perhaps reviewing the 10.6.8 xnu source code may shed some light on the issue? Possibly something has been optimised for x86 architecture that is incompatible with PowerPC and requires rewriting.


I believe the developer previews were declared API stable at around build 350ish (exact build was detailed in one of my earlier posts) i forget specifically. The more we can replace the ‘donor’ parts with 10.6.8 AOSP the more success we will have i feel. Obviously we can’t replace anything proprietary without serious backwards engineering work involved but anything BSD/GNU/Apache/MIT etc should be achievable with enough time and effort.

Do you recall what any of the issues were specifically with xnu?

I’ll look for the xnu source.

There is no benefit in using 4.2, perhaps even on Intel (MacPorts uses 3.2.6 on buildbots). gcc of 4.2 has no support for ppc, so you need to install 3.2.6 also in order to have at least a working compiler.
When I tried to build ports as universal on 10.6.8 (x86_64 + ppc), I had a set-up with Xcode 4.2 + Xcode 3.2.6, but it just adds unnecessary pain and complicates installation, and you get more breakages to fix. So I quickly discarded that approach.
If you are curious to try it, XcodeLegacy has instructions on how to install that.



I recall the last PureDarwin was based on darwin8. So there is none to match 10.5 or 10.6, forget ppc.

That’s too bad. I haven’t had occasion to attempt to use Darwin anywhere and didn’t realize public releases stopped so long ago.
 
Last edited:

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
I have confirmed that the issue with DNS is indeed caused by lack of UDP transmission.

The included host executable is fully capable of correctly resolving all domain names I have tried when using the “-T” switch to restrict functionality to TCP only:


The dig executable has a similar capability and it works there as well:


Likewise, I was correct in my suspicion that telnet is doing a reverse lookup. This can be prevented in this way (and shows no port restrictions):

telnet -N 8.8.8.8 53
 
Last edited:

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Xcode Unix tools are unavoidable thing in order to have the OS properly usable, but we can handle Xcode, I think. (Given that I could build gcc10 with a poor-man version of Xcode 3.2.6 natively on ppc, even that is already good enough, though we would want to rebuild from sources eventually.)
I'm sure there are people here more experienced with Xcode than me to hopefully get a fully working 3.2.6.

I hope the same!!

Btw, the odd Terminal behavior didn’t show up until I rebooted with the replaced .so file in place.
I was wrong, it also happened here with the binary from 10A190. Just finished building libResolv from AOSP and will try it to see what happens.
 

internetzel

macrumors 6502a
Apr 29, 2015
623
797
You might want to try dtrace in order to observe the calls into the kernel.
I know this used to work even in 10.5.8 and was indeed very useful for debugging applications which at some point directly or indirectly call kernel functions.
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
You might want to try dtrace in order to observe the calls into the kernel.
I know this used to work even in 10.5.8 and was indeed very useful for debugging applications which at some point directly or indirectly call kernel functions.

Thanks for the suggestion, @internetzel -- I gave dtruss a try and though I'm not an expert the results seem to indicate attempted UDP transmissions for DNS lookup that go unanswered in SL PPC. I haven't determined yet whether or not the requests are actually sent. Here is output for the exact same command (edited to highlight just what appears to be the relevant sections) on 10.6.8 Snow Leopard on two different machines:

PowerBook G4:
$ sudo dtruss nslookup www.google.com 10.0.1.1
Password:

...


socket(0x2, 0x2, 0x11) = 4 0
fcntl(0x4, 0x0, 0x14) = 20 0
close(0x4) = 0 0
fcntl(0x14, 0x3, 0x0) = 2 0
fcntl(0x14, 0x4, 0x6) = 0 0
setsockopt(0x14, 0xFFFF, 0x1022) = 0 0
setsockopt(0x14, 0xFFFF, 0x400) = 0 0
getsockopt(0x14, 0xFFFF, 0x1002) = 0 0
bind(0x14, 0x172D10, 0x10) = 0 0
recvmsg(0x14, 0xBFFFF7B8, 0x0) = -1 Err#35
kevent(0x3, 0xBFFFF87C, 0x1) = 0 0
sendmsg(0x14, 0xBFFFF778, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
kevent(0x3, 0x0, 0x0) = 0 0
sendmsg(0x14, 0xBFFFF6D8, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
kevent(0x3, 0x0, 0x0) = 0 0
sendmsg(0x14, 0xBFFFF6D8, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
;; connection timed out; no servers could be reached

kevent(0x3, 0x0, 0x0) = 0 0
fstat64(0x1, 0xBFFFF6C4, 0xBFFFF788) = 0 0
ioctl(0x1, 0x4004667A, 0xBFFFF6FC) = 0 0
write_nocancel(0x1, ";; connection timed out; no servers could be reached\n\0", 0x35) = 53 0
kevent(0x3, 0xBFFFF14C, 0x1) = 0 0
kevent(0x3, 0xBFFFF14C, 0x1) = -1 Err#2
close(0x14) = 0 0
kill(0x103, 0xF, 0x1) = 0 0
sigreturn(0xBFFFECD8, 0x1, 0xBFFFECD8) = 0 Err#-2
write_nocancel(0x1, "\n\0", 0x1) = 1 0
close(0x3) = 0 0
madvise(0x1B8000, 0x40000, 0x9) = 0 0


$

MacBook Pro:
$ sudo dtruss nslookup www.google.com 10.0.1.1
Password:

...


socket(0x2, 0x2, 0x11) = 4 0
fcntl(0x4, 0x0, 0x14) = 20 0
close(0x4) = 0 0
fcntl(0x14, 0x3, 0x0) = 2 0
fcntl(0x14, 0x4, 0x6) = 0 0
setsockopt(0x14, 0xFFFF, 0x1022) = 0 0
setsockopt(0x14, 0xFFFF, 0x400) = 0 0
getsockopt(0x14, 0xFFFF, 0x1002) = 0 0
bind(0x14, 0x100176900, 0x10) = 0 0
recvmsg(0x14, 0x7FFF5FBFF7F0, 0x0) = -1 Err#35
kevent(0x3, 0x7FFF5FBFF8B0, 0x1) = 0 0
sendmsg(0x14, 0x7FFF5FBFF7A0, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
kevent(0x3, 0x0, 0x0) = 1 0
kevent(0x3, 0x7FFF5FBFF8F0, 0x1) = 0 0
recvmsg(0x14, 0x7FFF5FBFF7F0, 0x0) = 48 0
fstat64(0x1, 0x7FFF5FBFE310, 0x7FFF5FBFE3DC) = 0 0
ioctl(0x1, 0x4004667A, 0x7FFF5FBFE35C) = 0 0
write_nocancel(0x1, "Server:\t\t10.0.1.1\n\0", 0x12) = 18 0
write_nocancel(0x1, "Address:\t10.0.1.1#53\n\0", 0x15) = 21 0
write_nocancel(0x1, "\n\0", 0x1) = 1 0
write_nocancel(0x1, "Non-authoritative answer:\n\0", 0x1A) = 26 0
write_nocancel(0x1, "Name:\twww.google.com\n\0", 0x15) = 21 0
write_nocancel(0x1, "Address: 142.250.190.4\n\0", 0x17) = 23 0
kevent(0x3, 0x7FFF5FBFF190, 0x1) = -1 Err#2
kevent(0x3, 0x7FFF5FBFF190, 0x1) = -1 Err#2
close(0x14) = 0 0
kill(0x6C6, 0xF, 0x1) = 0 0
sigreturn(0x7FFF5FBFF140, 0x1E, 0x7FFF5FBFF140) = 0 Err#-2
write_nocancel(0x1, "\n\0", 0x1) = 1 0
close(0x3) = 0 0
madvise(0x100400000, 0x40000, 0x9) = 0 0


...


$

(The output on the MacBook Pro was split -- dtruss reports a bit differently on the two systems but I've re-ordered to make them match.)

For comparison, here is the the host command run on SL PPC both without and with the "-T" switch to see the difference between UDP and TCP DNS requests on the same machine.

PowerBook G4:
$ sudo dtruss host www.google.com 10.0.1.1
Password:
...

ocket(0x2, 0x2, 0x11) = 4 0
fcntl(0x4, 0x0, 0x14) = 20 0
close(0x4) = 0 0
fcntl(0x14, 0x3, 0x0) = 2 0
fcntl(0x14, 0x4, 0x6) = 0 0
setsockopt(0x14, 0xFFFF, 0x1022) = 0 0
setsockopt(0x14, 0xFFFF, 0x400) = 0 0
getsockopt(0x14, 0xFFFF, 0x1002) = 0 0
bind(0x14, 0x172918, 0x10) = 0 0
recvmsg(0x14, 0xBFFFEF78, 0x0) = -1 Err#35
kevent(0x3, 0xBFFFF03C, 0x1) = 0 0
sendmsg(0x14, 0xBFFFEF38, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
kevent(0x3, 0x0, 0x0) = 0 0
sendmsg(0x14, 0xBFFFEE98, 0x0) = 32 0
kevent(0x3, 0x0, 0x0) = 0 0
;; connection timed out; no servers could be reached
kevent(0x3, 0x0, 0x0) = 0 0
fstat64(0x1, 0xBFFFEE84, 0xBFFFEF48) = 0 0
ioctl(0x1, 0x4004667A, 0xBFFFEEBC) = 0 0
write_nocancel(0x1, ";; connection timed out; no servers could be reached\n\0", 0x35) = 53 0
kevent(0x3, 0xBFFFE90C, 0x1) = 0 0
kevent(0x3, 0xBFFFE90C, 0x1) = -1 Err#2
close(0x14) = 0 0
kill(0x78E, 0xF, 0x1) = 0 0
sigreturn(0xBFFFE538, 0x1, 0xBFFFE538) = 0 Err#-2
close(0x3) = 0 0
madvise(0x1B7000, 0x40000, 0x9) = 0 0


$ sudo dtruss host -T www.google.com 10.0.1.1
Password:

...

socket(0x2, 0x1, 0x6) = 4 0
fcntl(0x4, 0x0, 0x14) = 20 0
close(0x4) = 0 0
fcntl(0x14, 0x3, 0x0) = 2 0
fcntl(0x14, 0x4, 0x6) = 0 0
setsockopt(0x14, 0xFFFF, 0x1022) = 0 0
bind(0x14, 0x172918, 0x10) = 0 0
connect(0x14, 0x1C10E4, 0x10) = -1 Err#36
kevent(0x3, 0xBFFFEF3C, 0x1) = 0 0
kevent(0x3, 0x0, 0x0) = 0 0
kevent(0x3, 0x0, 0x0) = 1 0
kevent(0x3, 0xBFFFF0EC, 0x1) = 0 0
getsockopt(0x14, 0xFFFF, 0x1007) = 0 0
recvmsg(0x14, 0xBFFFEE58, 0x0) = -1 Err#35
kevent(0x3, 0xBFFFEF1C, 0x1) = 0 0
sendmsg(0x14, 0xBFFFEE18, 0x0) = 34 0
kevent(0x3, 0x0, 0x0) = 1 0
kevent(0x3, 0xBFFFF0EC, 0x1) = 0 0
recvmsg(0x14, 0xBFFFEF98, 0x0) = 2 0
recvmsg(0x14, 0xBFFFEEB8, 0x0) = 48 0
fstat64(0x1, 0xBFFFD434, 0xBFFFD4F8) = 0 0
ioctl(0x1, 0x4004667A, 0xBFFFD46C) = 0 0
write_nocancel(0x1, "Using domain server:\n\0", 0x15) = 21 0
write_nocancel(0x1, "Name: 10.0.1.1\n\0", 0xF) = 15 0
write_nocancel(0x1, "Address: 10.0.1.1#53\n\0", 0x15) = 21 0
write_nocancel(0x1, "Aliases: \n\0", 0xA) = 10 0
write_nocancel(0x1, "\n\0", 0x1) = 1 0
write_nocancel(0x1, "www.google.com has address 172.217.0.164\n\0", 0x29) = 41 0
kevent(0x3, 0xBFFFE90C, 0x1) = -1 Err#2
kevent(0x3, 0xBFFFE90C, 0x1) = -1 Err#2
close(0x14) = 0 0

...

madvise(0x1B7000, 0x40000, 0x9) = 0 0

$

Looks to me as though "sendmsg... = 32 0" indicates a UDP request while "sendmsg... = 34 0" indicates a TCP request but I can't get much further than that.
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
I've verified that transmission of UDP works... and apparently so does UDP reception with significant delay allowing timeouts to miss it!!

I set up a tcpdump on the MacBook Pro and had it watch for UDP traffic on a non-standard port with this command:

$ sudo tcpdump -i en1 -X -v 'udp port 60000'
Password:

I then used this command on the PowerBook to send a UDP transmission on the same port to the MacBook Pro:
$ nc -u 10.0.1.123 60000
Hello
$

Here's what the tcpdump session on the MacBook Pro displayed:

tcpdump: listening on en1, link-type EN10MB (Ethernet), capture size 65535 bytes
21:09:43.264626 IP (tos 0x0, ttl 64, id 33425, offset 0, flags [none], proto UDP (17), length 34)
10.0.1.155.63964 > 10.0.1.123.60000: UDP, length 6
0x0000: 4500 0022 8291 0000 4011 e124 0a00 019b E.."....@..$....
0x0010: 0a00 017b f9dc ea60 000e e0a2 4865 6c6c ...{...`....Hell
0x0020: 6f0a o.
^C
1 packets captured
89 packets received by filter
0 packets dropped by kernel
$

Running the reverse (tcpdump on the PowerBook and nc on the MacBookPro) resulted in what I thought was no capture at all... but it was actually received after a long delay. It was such a long delay in fact that I attempted to kill the tcpdump twice before it showed up:

PowerBook G4:
tcpdump: listening on en1, link-type EN10MB (Ethernet), capture size 65535 bytes
^C


^C21:17:34.687435 IP (tos 0x0, ttl 64, id 21527, offset 0, flags [none], proto UDP (17), length 34) 10.0.1.123.54371 > 10.0.1.155.60000: UDP, length 6
0x0000: 4500 0022 5417 0000 4011 0f9f 0a00 017b E.."T...@......{
0x0010: 0a00 019b d463 ea60 000e 061c 4865 6c6c .....c.`....Hell
0x0020: 6f0a o.

1 packets captured
262 packets received by filter
0 packets dropped by kernel
$

Any ideas around what the networking stack could be doing to encounter such a delay in reception?

Regardless of the cause this proves the software isn't so broken as I had first believed!
 

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
As further verification I ran tcpdump again on the PowerBook but this time on the standard DNS port 53. After doing so I ran nslookup in a different Terminal on the same machine. The command timed out as expected but then after a long delay tcpdump logged all of the information I expected to see.

This looks promising to me but I'm not sure where to look next.
 

barracuda156

macrumors 68020
Sep 3, 2021
2,295
1,514
As further verification I ran tcpdump again on the PowerBook but this time on the standard DNS port 53. After doing so I ran nslookup in a different Terminal on the same machine. The command timed out as expected but then after a long delay tcpdump logged all of the information I expected to see.

This looks promising to me but I'm not sure where to look next.

Is this discussion relevant? https://discussions.apple.com/thread/2132856 (it is 7 pages, look through)
 
  • Like
Reactions: FBSD_Mac

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
I've built 210 projects from 10.6.8 AOSP and there are 116 that I was unable to compile properly, I'll attach a list of them and if any of you have successfully built one please let me know.

I'll test what I have in the next couple days and I hope it'll fix some bugs.

Unsure if anyone would want me to upload the projects I have properly compiled for PPC somewhere but I can do it.
 

Attachments

  • projects left.txt
    1.8 KB · Views: 20

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
I've built 210 projects from 10.6.8 AOSP and there are 116 that I was unable to compile properly, I'll attach a list of them and if any of you have successfully built one please let me know.

I'll test what I have in the next couple days and I hope it'll fix some bugs.

Unsure if anyone would want me to upload the projects I have properly compiled for PPC somewhere but I can do it.
Some of the projects are more complex to build and require other projects and headers to be built and installed first. Some projects can be mostly built if you edit the makefile to remove a problematic subproject or target a specific subproject using Xcodebuild directly. I definitely recognise at least some of the projects on your list as having been either partially or completely rebuilt by myself in the past but i will need to find all of my HDDs and thumbdrives after moving into my new home to track it all down. Other projects will need code to be patched or edited. If you can share what you have built to GitHub or in a zipped file here then we can start to collate together. I feel like you may end up compiling everything singlehandedly by the time i get a chance to set up all my systems again though.
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
I have some of the files i've built on my 2008 MacBook 5,1 compiled back in May, but i'll need to sort through them properly to see if any are useful to you. The only testing done on any of them was on 10A190 and I realised back then that building for 10A190 on 10.6.8 was problematic so instead moved to building natively and on a 10A190 installation on the same machine for compatibility. Now that we have 10.6.8 the process should be much easier.

Complete Projects:

amavisd-amavisd-114
apr-apr-23
architecture-architecture-258
autoconf-autoconf-15
automake-automake-8
awk-awk-14
bash-bash-80
basic_cmds-basic_cmds-49
bc-bc-21
BerkeleyDB-BerkeleyDB-18
bind9-bind9-31
bison-bison-13
bison1-bison1-1
bootstrap_cmds-bootstrap_cmds-72
bsdmake-bsdmake-24
bzip2-bzip2-20
CarbonHeaders-CarbonHeaders-18.1
clang-clang-23
CommonCrypto-CommonCrypto-36064
CrackLib-CrackLib-36064
crontabs-crontabs-43
cscope-cscope-15
Csu-Csu-79
curl-curl-57
cvs-cvs-42
cxxfilt-cxxfilt-9
developer_cmds-developer_cmds-52.1
disklabel-disklabel-2
distcc-distcc-1607
doc_cmds-doc_cmds-47
efax-efax-35
enscript-enscript-15
expat-expat-9
FastCGI-FastCGI-4
fetchmail-fetchmail-30
file-file-36
files-files-553
flex-flex-24.1
freeradius-freeradius-25
gcc_select-gcc_select-70
gcc-gcc-5646
glibtool-glibtool-14
gm4-gm4-13
gnudiff-gnudiff-13
gnumake-gnumake-126.2
gnuserv-gnuserv-7
gnuzip-gnuzip-28
gperf-gperf-6
gpt-gpt-7
graphviz-graphviz-1009
grep-grep-26
ICU-ICU-400.37
IOATAFamily-IOATAFamily-250.0.6
IOBDStorageFamily-IOBDStorageFamily-10
iodbc-iodbc-36
IODVDStorageFamily-IODVDStorageFamily-30
JavaScriptCore-JavaScriptCore-6531.5
ksh-ksh-16.1
less-less-21.3
libclosure-libclosure-38
Libcpp_kext-Libcpp_kext-8
libffi-libffi-15 libmd-libmd-3
Librpcsvc-Librpcsvc-18
libtelnet-libtelnet-8
libxml2-libxml2-21
libxslt-libxslt-10.1
Liby-Liby-16
llvmCore-llvmCore-2118
mail_cmds-mail_cmds-24
mailman-mailman-132
man-man-14
misc_cmds-misc_cmds-27
modemccl-modemccl-24
MySQL-MySQL-49
nano-nano-5
nasm-nasm-13
ncurses-ncurses-27
neon-neon-11
net_snmp-net_snmp-127
netcat-netcat-7
ntp-ntp-45.1
OpenPAM-OpenPAM-11
OpenSSL096-OpenSSL096-15
OpenSSL097-OpenSSL097-16
patch_cmds-patch_cmds-11
pcre-pcre-4.1
portmap-portmap-39
removefile-removefile-17
ruby-ruby-75
RubyGems-RubyGems-17
srm-srm-6
swig-swig-4
SystemStubs-SystemStubs-6
tcl-tcl-87
tcp_wrappers-tcp_wrappers-19
tcpdump-tcpdump-27
tcsh-tcsh-63.1
texi2html-texi2html-5
top-top-67
Twisted-Twisted-9
UserNotification-UserNotification-22
uucp-uucp-11
vim-vim-43
xar-xar-36
xelf-xelf-1
xnu-xnu-1456.1.26
zlib-zlib-22
zsh-zsh-53

Partial Projects:

adv_cmds-adv_cmds-138.1
apache_mod_php-apache_mod_php-53
apache-apache-746
BootCache-BootCache-64
bootp-bootp-198
CoreOSMakefiles-CoreOSMakefiles-61
diskdev_cmds-diskdev_cmds-491
file_cmds-file_cmds-202.2
gdb-gdb-1344
lsof-lsof-41
mDNSResponder-mDNSResponder-212.1
network_cmds-network_cmds-325
remote_cmds-remote_cmds-22
ruby_libxml-ruby_libxml-8
RubyOnRails-RubyOnRails-28
shell_cmds-shell_cmds-149
subversion-subversion-33
text_cmds-text_cmds-71
usertemplate-usertemplate-71
wxWidgets-wxWidgets-13

Cross-Binaries.jpg
 
Last edited:

educovas

macrumors regular
Jul 30, 2019
169
526
Curitiba, Brasil
Some of the projects are more complex to build and require other projects and headers to be built and installed first. Some projects can be mostly built if you edit the makefile to remove a problematic subproject or target a specific subproject using Xcodebuild directly. I definitely recognise at least some of the projects on your list as having been either partially or completely rebuilt by myself in the past but i will need to find all of my HDDs and thumbdrives after moving into my new home to track it all down. Other projects will need code to be patched or edited. If you can share what you have built to GitHub or in a zipped file here then we can start to collate together. I feel like you may end up compiling everything singlehandedly by the time i get a chance to set up all my systems again though.
I've gone through some very annoying projects to build but some just won't work properly for many reasons like Xcode crashing (I'm using Xcode 4.2 which is probably not a very good idea) or some projects building for x86_64 because I think it's building for the machine I'm running so most of them are probably relatively easy to build in a decent building environment.

I've already sorted the binaries I've built and got quite a few binaries to update but still missing some related to security, Filesystems and network. I'll test the new binaries tomorrow and then try to compile the missing projects again.

These are the projects I couldn't build that I'm most interested in, most of the other missing projects are not necessary.
webdavfs-293.2
smb-431.11
security-systemkeychain-39457
security_ocspd-55005
security_dotmac_tp-38498
security_crlrefresh-36090
samba-235.7
remote_cmds-22.1
postfix-197.7
passwordserver_sasl-159
ntp-45.1
ntfs-65.5
network_cmds-329.2.2
netinfo-382
net_snmp-127
mDNSResponder-258.21
libsecurity_filevault-36064
libsecurity_codesigning-55005
libfs-9
ld64-95.2.12
Ipv6configuration-31.3
Ipsec-93.15
grep-28
file_cmds-202.2
dyld-132.13
dtrace-78
cups-218.30
configd-293.8
Security-55002
AppleFileSystemDriver-13
 

ChrisCharman

macrumors 6502a
May 10, 2020
512
666
Bournemouth, UK
I've gone through some very annoying projects to build but some just won't work properly for many reasons like Xcode crashing (I'm using Xcode 4.2 which is probably not a very good idea) or some projects building for x86_64 because I think it's building for the machine I'm running so most of them are probably relatively easy to build in a decent building environment.

I've already sorted the binaries I've built and got quite a few binaries to update but still missing some related to security, Filesystems and network. I'll test the new binaries tomorrow and then try to compile the missing projects again.

These are the projects I couldn't build that I'm most interested in, most of the other missing projects are not necessary.
Yeah I’d recommend using Xcode 3.2.X for PowerPC support.

If there’s anything in the list hidden behind the spoiler in my previous post that you want me to upload here let me know. I don’t have time or access to my other systems at the moment and won’t for at least another week.
 
  • Like
Reactions: barracuda156

FBSD_Mac

macrumors newbie
Sep 26, 2019
14
28
Is this discussion relevant? https://discussions.apple.com/thread/2132856 (it is 7 pages, look through)
Thank you for the link, @barracuda156 -- I read through the entire thread and duplicated the various proposed solutions without success. I have no evidence of TTL responses of any sort in the debugging output from mDNSResponder, unfortunately.

I did try adding static arp entries but that didn't make any difference either.

When watching local port 53 I don't begin to get a response back from any DNS requests until 60-62 seconds after initiating the test command.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.