Opened 10 months ago

Last modified 23 hours ago

#73167 new defect

libgcc15 can't find "md-unwind-def.h" (10.5.8)

Reported by: nbuwe (Valery Ushakov) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.11.5
Keywords: powerpc leopard Cc: fhgwright (Fred Wright)
Port: libgcc15

Description

On MacOS 10.5.8 Leopard, PowerPC (mini g4) with the latest officially available xcode xcode314_2809_developerdvd.dmg installed

I'm trying to build cmake. I need it to build another piece of old but still maintained software (Self) to understand whether its macos support has bitrotted or not.

After chugging along for a few days (gcc10-bootstrap took quite a while) it first told me that:

Error: libgcc15 cannot be built while libunwind-headers is active.
Error: Please forcibly deactivate libunwind-headers, e.g. by running:
Error:
Error:     sudo port -f deactivate libunwind-headers
Error:

I did as I'm told, did port clean libgcc15 for good measure and started port install libgcc15. It fails after a while with:

:info:build /opt/local/var/macports/build/libgcc15-fab548dd/work/gcc-15.2.0/libgcc/unwind-dw2.h:25:10: fatal error: md-unwind-def.h: No such file or directory
:info:build    25 | #include "md-unwind-def.h"
:info:build       |          ^~~~~~~~~~~~~~~~~

(full log in the attachment).

Anything I'm doing wrong here? "md-unwind-def.h" sounds like gcc's internal header.

Thanks for keeping this alive for such an old system! If fixing this in macports is not feasible, any advice on how to get cmake for 10.5.8 is appreciated. TIA.

Attachments (1)

main.log (1.6 MB) - added by nbuwe (Valery Ushakov) 10 months ago.
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc15/libgcc15/main.log

Download all attachments as: .zip

Change History (10)

Changed 10 months ago by nbuwe (Valery Ushakov)

Attachment: main.log added

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc15/libgcc15/main.log

comment:2 Changed 10 months ago by nbuwe (Valery Ushakov)

$ pwd
/opt/local/var/macports/build/libgcc15-fab548dd/work/build/powerpc-apple-darwin9/libgcc
$ ls -lF
total 176
-rw-r--r--  1 macports  admin  40829 Oct 26 17:30 Makefile
-rw-r--r--  1 macports  admin   3174 Oct 26 17:30 auto-target.h
-rw-r--r--  1 macports  admin   4117 Oct 26 17:30 config.cache
-rw-r--r--  1 macports  admin  54289 Oct 26 17:30 config.log
-rwxr-xr-x  1 macports  admin  37663 Oct 26 17:30 config.status*
lrwxr-xr-x  1 macports  admin     83 Oct 26 17:30 gthr-default.h@ -> /opt/local/var/macports/build/libgcc15-fab548dd/work/gcc-15.2.0/libgcc/gthr-posix.h
-rw-r--r--  1 macports  admin    219 Oct 26 17:30 libgcc_tm.h
-rw-r--r--  1 macports  admin     10 Oct 26 17:30 libgcc_tm.stamp
lrwxr-xr-x  1 macports  admin     89 Oct 26 17:30 md-unwind-support.h@ -> /opt/local/var/macports/build/libgcc15-fab548dd/work/gcc-15.2.0/libgcc/config/no-unwind.h
-rw-r--r--  1 macports  admin      3 Oct 26 17:29 multilib.out
-rw-r--r--  1 macports  admin     10 Oct 26 17:30 stamp-h
lrwxr-xr-x  1 macports  admin     87 Oct 26 17:30 unwind.h@ -> /opt/local/var/macports/build/libgcc15-fab548dd/work/gcc-15.2.0/libgcc/unwind-generic.h

so md-unwind-support.h was created (with a makefile rule congruent to that of the missing md-unwind-def.h.

I gonna create the link manually and restart from there...

comment:3 Changed 9 months ago by nbuwe (Valery Ushakov)

So, after repeating that manual step of creating md-unwind-def.h a few times (for each gcc build stage, I guess) and restarting the build it did build successfully.

comment:4 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)

This failure could be a PowerPC bug in gmake, versions 3.81 and 4.4.1.

It happens for me on a PowerBook G4 (PPC 32bit) with Mac OS X 10.5.8, Leopard. It does not happen on a MacBook Pro (x86_64) with Mac OS X 10.6.8, Snow Leopard. And on other not so old hard- and software.

I opened bug reports for GCC 15 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123976, sleeping) and for GMake (https://lists.gnu.org/archive/html/bug-make/2026-02/msg00001.html, active).

It might help to check whether the same failure happens on G5 or on intel based Leopard (PPC Snow Leopard). I offered to test on PPC Tiger, Mac OS X 10.4.11, mimicking MacPorts since its support ended…

Last edited 6 months ago by ballapete (Peter "Pete" Dyballa) (previous) (diff)

comment:5 Changed 4 months ago by fhgwright (Fred Wright)

Cc: fhgwright added

comment:6 Changed 7 weeks ago by ballapete (Peter "Pete" Dyballa)

The same failure happens with a preliminary release of GCC 16. The symbolic link commands to allow continuation of build process are:

   ln -s ../../../../work/gcc-16.1.0/libgcc/config/rs6000/sfp-machine.h
   ln -s ../../../../work/gcc-16.1.0/libgcc/config/no-unwind.h md-unwind-def.h
   ln -s ../../../../work/gcc-16.1.0/libgcc/enable-execute-stack-mprotect.c enable-execute-stack.c

comment:7 in reply to:  4 Changed 7 weeks ago by barracuda156

Replying to ballapete:

This failure could be a PowerPC bug in gmake, versions 3.81 and 4.4.1.

It happens for me on a PowerBook G4 (PPC 32bit) with Mac OS X 10.5.8, Leopard. It does not happen on a MacBook Pro (x86_64) with Mac OS X 10.6.8, Snow Leopard. And on other not so old hard- and software.

(g)make version as such is not a problem, since on 10.6.8 ppc (32-bit) the same gmake works fine.

comment:8 Changed 12 days ago by geoffd2

Simple instructions to workaround this on PPC OSX 10.4 would be much appreciated!

comment:9 Changed 23 hours ago by ballapete (Peter "Pete" Dyballa)

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123976 has at its end three commitments to make the code of coming GCC 16 work in single threaded single CPUs – that's the problem! The code to build the compiler has optimisations for multi-threaded/multi-core CPU that passes to build the three symlinks to a not existing CPU or thread. This only happens with make's default j=1, making it a rather PowerPC specific problem.

Could be the patches also work for building GCC 15.2.

Note: See TracTickets for help on using tickets.