Skip to content

Issue/453 #465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 5, 2025
Merged

Issue/453 #465

merged 2 commits into from
Mar 5, 2025

Conversation

klemens-morgenstern
Copy link
Collaborator

@barracuda156 can you check if this works?

@barracuda156
Copy link

@glebm Just in case, do you still have some machine to run the build of this? MacPorts port is broken for more reasons than this issue, but the one from my fork https://github.com/macos-powerpc/powerpc-ports/tree/dbcaaf046f38b15925ca8fedeec563e731fb029f/devel/boost187 is supposed to build. Patch updated in macos-powerpc/powerpc-ports@dbcaaf0 for testing.

I also asked a few ppl on MacRumors, but no idea if someone responds on time.

P. S. Something may be broken on < 10.6, since I build everything on 10.6.8, as you know. But now the point is only to confirm that environ patch works (dirfd is identical to what I already used, so that one is fine).

@glebm
Copy link

glebm commented Mar 2, 2025

Hi @barracuda156, I'm traveling until Apr 19 with no access to my iBook. /cc @AJenbo

@AJenbo
Copy link

AJenbo commented Mar 3, 2025

Sorry can you fill me in on what I need to test? Should I build this branch (where can i find the build instructions) or run something?

@barracuda156
Copy link

barracuda156 commented Mar 3, 2025

Sorry can you fill me in on what I need to test? Should I build this branch (where can i find the build instructions) or run something?

@AJenbo Thank you. Could you pick the attached source and try building it?
If you use standard MacPorts in its default prefix, a simple one-time hack will be just to replace the folder:

sudo rm -R /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/boost187
sudo cp -pR [path_to_extracted_folder]/boost187 /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/

(Do not rerun port sync in this case, otherwise port source will be overwritten with the default.)

If you use an overlay local repo, just place boost187 in devel directory, run port sync, then build it.

Alternatively, you could use the same source from https://github.com/macos-powerpc/powerpc-ports/tree/dbcaaf046f38b15925ca8fedeec563e731fb029f/devel/boost187

At this point we just wanna make sure it actually builds. I can deal with running specific tests when I am back to my G5s.

P. S. This was not tested on Tiger, perhaps by anyone, so I apologize in advance in something else fails. But hopefully this works with gcc14 (and I guess all dependencies should build fine on 10.4).

boost187.zip

Copy link

@barracuda156 barracuda156 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@klemens-morgenstern Let me go ahead and approve this, even though I cannot run the build on a legacy macOS right now (but we got a deadline by tomorrow), since:

  1. The patches here are very close to what worked for me to fix the build for gcc14 locally (but more complete than my earlier ad hoc fix), i.e. macos-powerpc/powerpc-ports@b333599 – so I am pretty sure the solution is correct.
  2. I have verified the build on Sonoma with clang, so it is safe.

I will verify this myself once I physically can, but I think it will be good to have it merged in the coming release now.

@Zorg-Org
Copy link

Zorg-Org commented Mar 4, 2025

Hi! doctor_dog here from over at MacRumors (one of the folks asked to test there). I can confirm I was able to build this on 10.5.8 ppc32 and python 3.12 without issues.

@AJenbo
Copy link

AJenbo commented Mar 4, 2025

@AJenbo Thank you. Could you pick the attached source and try building it? If you use standard MacPorts in its default prefix, a simple one-time hack will be just to replace the folder:

I don't think I did anything special, I don't know what a prefix or an overlay is.

(Do not rerun port sync in this case, otherwise port source will be overwritten with the default.)

If you use an overlay local repo, just place boost187 in devel directory, run port sync, then build it.

What? Don't run port sync then run port sync, also I still don't know how to "build it".

Is devel short for /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel ?

If you can please just give the the basic commands to run to do a build (preferably all the way from wget to make, then I can try and figure out any thing that might be unusual about my system.

@barracuda156
Copy link

@AJenbo Install MacPorts (I assume it is installed, since you have built gcc).
Then run sudo port -v sync.
Extract boost187 archive I attached above and replace original boost187 folder with the newly extracted:

sudo rm -R /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/boost187
sudo cp -pR [path_to_extracted_folder]/boost187 /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/

Then run sudo port -v -n -s install boost187.

@AJenbo
Copy link

AJenbo commented Mar 5, 2025

On my 10.4 VM it ended with an error, not that it's CPU has some capabilities that the linker doesn't know how to handle so that can sometimes lead to build errors that would not have happened on real hardware.
Here is the first error:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost187/boost187/work/boost_1_87_0/libs/process/src/ext/cmd.cpp:28:12: fatal error: sys/proc_info.h: No such file or directory
   28 |   #include <sys/proc_info.h>
      |            ^~~~~~~~~~~~~~~~~
compilation terminated.

10-4-intel.txt

The PowerPC is currently processing bin.v2/libs/filesystem/build/darwin-14.2.0/release/power_32/threading-multi/visibility-hidden/exception.o, and judging by the time it took the VM the 700 Mhz PowerPC will be doing this for a while longer.

@barracuda156
Copy link

barracuda156 commented Mar 5, 2025

10.4 does not have sys/proc_info.h header, as I recall. It should be an easily fixable issue (and unrelated to the one addressed here).
It will probably fail on the same spot on Tiger regardless of the arch. SDK headers are nearly always arch-agnostic.

@klemens-morgenstern
Copy link
Collaborator Author

Right, I'll add the MAC_OS_X_VERSION_MIN_REQUIRED separately.

@klemens-morgenstern klemens-morgenstern merged commit 94aa3b6 into master Mar 5, 2025
26 of 36 checks passed
@klemens-morgenstern klemens-morgenstern deleted the issue/453 branch March 5, 2025 08:38
@AJenbo
Copy link

AJenbo commented Mar 5, 2025

10.4 does not have sys/proc_info.h header, as I recall. It should be an easily fixable issue (and unrelated to the one addressed here). It will probably fail on the same spot on Tiger regardless of the arch. SDK headers are nearly always arch-agnostic.

Confirmed same error on the 10.4 PowerPC

@barracuda156
Copy link

@AJenbo Thank you. Yes, that was expected. The header is apparently related to libproc, and it needs kernel support, which is missing in 10.4.11 ppc.

There are some discussions:
mistydemeo/tigerbrew#426
https://trac.macports.org/ticket/58160

What I have seen or done myself was just conditionally disabling related functionality. I do not know how important it is here; certainly, older versions of Boost worked on Tiger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants