Opened 7 weeks ago

Closed 6 weeks ago

Last modified 6 weeks ago

#70866 closed defect (fixed)

gcc14 doesn’t build for x86_64 on macOS 15 (Xcode 16): “Undefined symbols for architecture x86_64” while linking libgcc_s.1.dylib

Reported by: markmentovai (Mark Mentovai) Owned by: markmentovai (Mark Mentovai)
Priority: Normal Milestone:
Component: ports Version:
Keywords: sonoma sequoia x86_64 Cc: haberg-1 (Hans Åberg), Bradford-Miller (Bradford Miller), diekhans (Mark Diekhans), reneeotten (Renee Otten), cooljeanius (Eric Gallager), ShadSterling (Shad Sterling), mamoll (Mark Moll), hapaguy (Brian Kurt Fujikawa), nklb (Niklas), razzfazz (Daniel Becker)
Port: gcc14

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Forked from #70641.

:info:build Undefined symbols for architecture x86_64:
:info:build   "___deregister_frame_info", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___deregister_frame_info_bases", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___register_frame_info", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___register_frame_info_bases", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___register_frame_info_table", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___register_frame_info_table_bases", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build   "___register_frame_table", referenced from:
:info:build      -reexported_symbols_list command line option
:info:build ld: symbol(s) not found for architecture x86_64
:info:build collect2: error: ld returned 1 exit status
:info:build make[3]: *** [libgcc_s.1.dylib] Error 1

In particular, see comment:ticket:70641:39 and comment:ticket:70641:45 for an explanation of why this is happening in macOS 15, and why it’s x86_64-specific. This bug will also affect macOS 14 with Xcode 16, as that build configuration uses the macOS 15 SDK.

This is on file upstream at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809.

Attachments (1)

main.log.gz (393.9 KB) - added by reneeotten (Renee Otten) 6 weeks ago.

Download all attachments as: .zip

Change History (37)

comment:1 Changed 7 weeks ago by haberg-1 (Hans Åberg)

Cc: haberg-1 added

comment:2 Changed 7 weeks ago by haberg-1 (Hans Åberg)

Cc: haberg-1 removed

comment:3 Changed 7 weeks ago by haberg-1 (Hans Åberg)

Cc: haberg-1 added

comment:4 Changed 7 weeks ago by Bradford-Miller (Bradford Miller)

Cc: Bradford-Miller added

comment:5 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: sonoma sequoia x86_64 added
Port: gcc14 added

comment:6 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: diekhans added

Has duplicate #70868.

comment:7 Changed 7 weeks ago by reneeotten (Renee Otten)

Cc: reneeotten added

comment:8 Changed 7 weeks ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:9 Changed 7 weeks ago by ShadSterling (Shad Sterling)

Cc: ShadSterling added

comment:10 Changed 7 weeks ago by mamoll (Mark Moll)

Cc: mamoll added

comment:11 Changed 7 weeks ago by hapaguy (Brian Kurt Fujikawa)

Cc: hapaguy added

comment:12 Changed 6 weeks ago by cjones051073 (Chris Jones)

Patches have been posted at

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809

It would be very useful if someone running macOS15 on intel hardware could roll an update to macports gcc14 port based on them, runs a test to ensure they indeed work and then push a PR to github with them ?

Last edited 6 weeks ago by cjones051073 (Chris Jones) (previous) (diff)

comment:13 Changed 6 weeks ago by reneeotten (Renee Otten)

I can try tonight

comment:14 Changed 6 weeks ago by cjones051073 (Chris Jones)

Thanks. Just to note any patch needs to be applicable on top of this tag

https://github.com/iains/gcc-14-branch/releases/tag/gcc-14.2-darwin-r1

Which is effectively what we are running. Re reading the comments above its no longer obvious to me if Iains has yet made a version that can be applied there, you might need to check with him.

If you do manage to construct a patch file that applies, please limit its application to only when needed, so darwin 24+ and intel only.

comment:15 in reply to:  14 ; Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to cjones051073:

If you do manage to construct a patch file that applies, please limit its application to only when needed, so darwin 24+ and intel only.

Iain’s patch for this bug should be self-limiting to the correct circumstance anyway.

This bug will occur with the macOS 15 SDK, which is in Xcode 16, which also runs on macOS 14. So if there’s any MacPorts-level Darwin version limitation, it should be ≥23.

Last edited 6 weeks ago by markmentovai (Mark Mentovai) (previous) (diff)

comment:16 in reply to:  15 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to markmentovai:

Iain’s patch for this bug should be self-limiting to the correct circumstance anyway.

I noticed that the upstream patch limits itself to Darwin ≥24 (macOS ≥15), which leaves Xcode 16 on macOS 14 x86_64 unfixed. I left a comment about this upstream at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809#c20.

comment:17 Changed 6 weeks ago by reneeotten (Renee Otten)

the patch applied almost cleanly but the build still fails. First in trace-mode but admittedly I don’t know if that ever worked, but also without trace-mode it fails but with a different error than before. I can attach a build log when I am home again tonight. It takes a while to build and get to the error and to be fair I don’t see myself having much time to troubleshoot this with a newborn and toddler running around… O if others want to give it a shot don’t let my initial attempts stop you!

comment:18 Changed 6 weeks ago by dbl001 (dbl)

I also tried building from branch: https://github.com/iains/gcc-14-branch/releases/tag/gcc-14.2-darwin-r1 on an Intel 2021 iMac 27" running macOS Sequoia. There are three patch files ... they didn't apply cleanly, so I manually added this to libgcc/config.host

  x86_64-*-darwin2[0-2]*)
      tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file"
      ;;

Then,

$ mkdir build
$ cd build
$ ../configure --with-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
$ make -j4

Finally,

...
rm libgcc_s.1.1.dylib_T*
MLIBS=`/Users/davidlaxer/Downloads/gcc-14-branch-gcc-14.2-darwin-r1/build/./gcc/xgcc -B/Users/davidlaxer/Downloads/gcc-14-branch-gcc-14.2-darwin-r1/build/./gcc/ -B/usr/local/x86_64-apple-darwin24.0.0/bin/ -B/usr/local/x86_64-apple-darwin24.0.0/lib/ -isystem /usr/local/x86_64-apple-darwin24.0.0/include -isystem /usr/local/x86_64-apple-darwin24.0.0/sys-include   -fno-checking --print-multi-lib | sed -e 's/;.*$//'` ; \
	for mlib in $MLIBS ; do \
	  cp ../${mlib}/libgcc/${mlib}/libgcc_s.dylib  \
	    ./libgcc_s.1.1.dylib_T_${mlib} || exit 1 ; \
	  arch=`lipo -info libgcc_s.1.1.dylib_T_${mlib} | sed -e 's/.*:\ //'` ; \
	  /Users/davidlaxer/Downloads/gcc-14-branch-gcc-14.2-darwin-r1/build/./gcc/xgcc -B/Users/davidlaxer/Downloads/gcc-14-branch-gcc-14.2-darwin-r1/build/./gcc/ -B/usr/local/x86_64-apple-darwin24.0.0/bin/ -B/usr/local/x86_64-apple-darwin24.0.0/lib/ -isystem /usr/local/x86_64-apple-darwin24.0.0/include -isystem /usr/local/x86_64-apple-darwin24.0.0/sys-include   -fno-checking -arch ${arch} -nodefaultlibs -dynamiclib -nodefaultrpaths \
	    -o libgcc_s.1.dylib_T_${mlib} \
	    -Wl,-reexport_library,libgcc_s.1.1.dylib_T_${mlib} \
	    -lSystem \
	    -Wl,-reexported_symbols_list,../../../libgcc/config/darwin-unwind.ver \
	    -install_name @rpath/libgcc_s.1.dylib \
	    -compatibility_version 1 -current_version 1.1 ; \
	done
Undefined symbols for architecture x86_64:
  "___deregister_frame_info", referenced from:
      <initial-undefines>
  "___deregister_frame_info_bases", referenced from:
      <initial-undefines>
  "___register_frame_info", referenced from:
      <initial-undefines>
  "___register_frame_info_bases", referenced from:
      <initial-undefines>
  "___register_frame_info_table", referenced from:
      <initial-undefines>
  "___register_frame_info_table_bases", referenced from:
      <initial-undefines>
  "___register_frame_table", referenced from:
      <initial-undefines>
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[3]: *** [libgcc_s.1.dylib] Error 1
make[2]: *** [all-stage1-target-libgcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2
Last edited 6 weeks ago by dbl001 (dbl) (previous) (diff)

comment:19 in reply to:  17 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to reneeotten:

the patch applied almost cleanly but the build still fails.

Replying to dbl001:

I also tried building from branch: https://github.com/iains/gcc-14-branch/releases/tag/gcc-14.2-darwin-r1 on an Intel 2021 iMac 27" running macOS Sequoia.

The way that the pieces fit together may be a little tricky, because several things are moving around all at once.

Can you try markmentovai/macports-ports 727cc2bddbd3 (patch file)? If it works, I’ll turn it into a proper pull request.

comment:20 Changed 6 weeks ago by dbl001 (dbl)

% patch -p1 < ~/Downloads/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch
File to patch: libgcc/config.host
patching file 'libgcc/config.host'
2 out of 2 hunks failed--saving rejects to 'libgcc/config.host.rej'
patching file 'lang/gcc14/files/0001-Darwin-Allow-for-as-versions-that-need-for-std-in.patch'
patching file 'lang/gcc14/files/0002-libgcc-Darwin-Drop-the-legacy-library-build-for-macO.patch'
patching file 'lang/gcc14/files/0003-libgcc-Darwin-Don-t-build-legacy-libgcc_s.1-on-macOS.patch'
File to patch: ^C%         

% cat libgcc/config.host.rej
@@ -24,7 +24,7 @@
 
 # Remember to reset all revision increments below to 0 on new versions
 version             ${gcc_major_v}.2.0
-revision            1
+revision            2
 
 set libgccname      lib${name}
 subport             ${libgccname} { revision [ expr ${revision} + 0 ] }
@@ -177,14 +177,17 @@
     if { ${os.major} == 18 } {
         patchfiles-append  patch-OSX10.14-ucred-atomic-define.diff
     }
-    # TEMPORARY workaround for macOS15+. See
-    #  https://trac.macports.org/ticket/70641
-    # and upstream discussion at
-    #  https://github.com/iains/gcc-darwin-arm64/issues/136
-    # An upstream fix is likely not too far off, but in the meantime use
-    # this workaround to provide users with a working build
-    if { ${os.major} >= 24 } {
-        patchfiles-append  patch-as_needs_dash_for_piped_input.diff
+
+    # Additional macOS 15 (and macOS 14 with Xcode 16) compatibility patches
+    # from https://github.com/iains/gcc-14-branch, after tag gcc-14.2-darwin-r1.
+    # See https://trac.macports.org/ticket/70641,
+    # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116794,
+    # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809, and
+    # https://github.com/iains/gcc-darwin-arm64/issues/136.
+    if { ${os.major} >= 23 } {
+        patchfiles-append  0001-Darwin-Allow-for-as-versions-that-need-for-std-in.patch \
+                           0002-libgcc-Darwin-Drop-the-legacy-library-build-for-macO.patch \
+                           0003-libgcc-Darwin-Don-t-build-legacy-libgcc_s.1-on-macOS.patch
     }
 }
 

Last edited 6 weeks ago by dbl001 (dbl) (previous) (diff)

comment:21 in reply to:  20 ; Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to dbl001:

I don’t know where you’re patching, or if the patch is mangled, but what you’re doing seems to be conflating the outer patch file with some of the patches carried within. The patch is intended to be applied in the ports directory. It will create further patches within lang/gcc14/files.

% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
% curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | sudo patch -p1
patching file 'lang/gcc14/Portfile'
patching file 'lang/gcc14/files/0001-Darwin-Allow-for-as-versions-that-need-for-std-in.patch'
patching file 'lang/gcc14/files/0002-libgcc-Darwin-Drop-the-legacy-library-build-for-macO.patch'
patching file 'lang/gcc14/files/0003-libgcc-Darwin-Don-t-build-legacy-libgcc_s.1-on-macOS.patch'
patching file 'lang/gcc14/files/patch-as_needs_dash_for_piped_input.diff'
% sudo portindex
% sudo port install gcc14

The .patch has this hash:

% curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | shasum -a 256
befd12c8119ee2b76dfc5adb7e89a64b77d7ec67d3daaccbe8b5d9fd3bd944c3  -

comment:22 in reply to:  21 ; Changed 6 weeks ago by dbl001 (dbl)

Replying to markmentovai:

Replying to dbl001:

I don’t know where you’re patching, or if the patch is mangled, but what you’re doing seems to be conflating the outer patch file with some of the patches carried within. The patch is intended to be applied in the ports directory. It will create further patches within lang/gcc14/files.

% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
% curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | sudo patch -p1
patching file 'lang/gcc14/Portfile'
patching file 'lang/gcc14/files/0001-Darwin-Allow-for-as-versions-that-need-for-std-in.patch'
patching file 'lang/gcc14/files/0002-libgcc-Darwin-Drop-the-legacy-library-build-for-macO.patch'
patching file 'lang/gcc14/files/0003-libgcc-Darwin-Don-t-build-legacy-libgcc_s.1-on-macOS.patch'
patching file 'lang/gcc14/files/patch-as_needs_dash_for_piped_input.diff'
% sudo portindex
% sudo port install gcc14

The .patch has this hash:

% curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | shasum -a 256
befd12c8119ee2b76dfc5adb7e89a64b77d7ec67d3daaccbe8b5d9fd3bd944c3  -
% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
(ai) davidlaxer@bluediamond ports % curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | sudo patch -p1
patching file 'lang/gcc14/Portfile'
Reversed (or previously applied) patch detected!  Assume -R? [y] y
patching file 'lang/gcc14/files/0001-Darwin-Allow-for-as-versions-that-need-for-std-in.patch'
patching file 'lang/gcc14/files/0002-libgcc-Darwin-Drop-the-legacy-library-build-for-macO.patch'
patching file 'lang/gcc14/files/0003-libgcc-Darwin-Don-t-build-legacy-libgcc_s.1-on-macOS.patch'
patching file 'lang/gcc14/files/patch-as_needs_dash_for_piped_input.diff'
(ai) davidlaxer@bluediamond ports % sudo portindex
Creating port index in /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
Failed to parse file lang/rust-bootstrap/Portfile: rust_build.version (1.77.0) must be newer than rust_build.stage0_versions (1.80.1 1.80.0)
Adding port lang/gcc14
Adding subport libgcc14
Adding subport gcc14-libcxx

Total number of ports parsed:	4 
Ports successfully parsed:	3 
Ports failed:			1 
Up-to-date ports skipped:	39667

(ai) davidlaxer@bluediamond ports % sudo port install gcc14
--->  Computing dependencies for gcc14
The following dependencies will be installed: 
 libgcc
 libgcc14
Continue? [Y/n]: y
--->  Fetching archive for libgcc14
--->  Attempting to fetch libgcc14-14.2.0_1+stdlib_flag.darwin_24.x86_64.tbz2 from https://packages.macports.org/libgcc14
--->  Attempting to fetch libgcc14-14.2.0_1+stdlib_flag.darwin_24.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/libgcc14
--->  Attempting to fetch libgcc14-14.2.0_1+stdlib_flag.darwin_24.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/libgcc14
--->  Building libgcc14
Error: Failed to build libgcc14: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc14/libgcc14/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port gcc14 failed
(ai) davidlaxer@bluediamond ports % vi /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc14/libgcc14/main.log

comment:23 in reply to:  22 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to dbl001:

% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
(ai) davidlaxer@bluediamond ports % curl --silent https://github.com/markmentovai/macports-ports/commit/727cc2bddbd39fbad964d0f2e6eaf3be164e23e7.patch | sudo patch -p1
patching file 'lang/gcc14/Portfile'
Reversed (or previously applied) patch detected!  Assume -R? [y] y

Right there, you had a partially-applied patch to begin with, and you undid this part of it.

Try a fresh sudo port sync first. After you apply the patch, lang/gcc14/Portfile should have this SHA-256 hash:

% shasum -a256 lang/gcc14/Portfile
7be1fed1288f7dfe642bed626f361642a90cf14324432b846eb5cf29571ea158  lang/gcc14/Portfile

You also never ran sudo portindex after applying the patch. You should do that.

Last edited 6 weeks ago by markmentovai (Mark Mentovai) (previous) (diff)

comment:24 Changed 6 weeks ago by nklb (Niklas)

Cc: nklb added

comment:25 Changed 6 weeks ago by dbl001 (dbl)

Progress...

--->  Staging libgcc14 into destroot                     
--->  Installing libgcc14 @14.2.0_2+stdlib_flag          
--->  Activating libgcc14 @14.2.0_2+stdlib_flag
...
--->  Building gcc14 

I have successfully built gcc14. Thank You!

Last edited 6 weeks ago by dbl001 (dbl) (previous) (diff)

comment:26 Changed 6 weeks ago by csldude (Mark Heinrich)

I can confirm that using the patch instructions Mark provided results in a successful build of libgcc14 on an x86-based Mac running MacOS 15.0.

...and now gcc14 as well. Finally! Thanks!

Last edited 6 weeks ago by csldude (Mark Heinrich) (previous) (diff)

comment:27 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Great! Let’s do a pull request, then. https://github.com/macports/macports-ports/pull/25929

comment:28 in reply to:  27 ; Changed 6 weeks ago by reneeotten (Renee Otten)

Replying to markmentovai:

Great! Let’s do a pull request, then. https://github.com/macports/macports-ports/pull/25929

for me it still fails even after applying the patch you linked from your repository, but it's certainly possible that something else is going on. Just in case, I have attached my main.log if that's of any help to you.

[edit: perhaps I didn't completely remove that changes to the Portfile I already attempted; trying one more time now...]

Last edited 6 weeks ago by reneeotten (Renee Otten) (previous) (diff)

Changed 6 weeks ago by reneeotten (Renee Otten)

Attachment: main.log.gz added

comment:29 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Owner: set to markmentovai
Resolution: fixed
Status: newclosed

In 40a267e1c3265b3215fdccc45c544637e75a7557/macports-ports (master):

gcc14: Fix macOS 15 x86_64 build

This also fixes the macOS 14 x86_64 build when using Xcode 16.

Closes: #70866

comment:30 Changed 6 weeks ago by haberg-1 (Hans Åberg)

Here, 'port install gcc14' fails, on macOS 15 x86_64. Did before: port selfupdate; port clean --all gcc14.

comment:31 in reply to:  28 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to reneeotten:

for me it still fails even after applying the patch you linked from your repository, but it's certainly possible that something else is going on. Just in case, I have attached my main.log if that's of any help to you.

[edit: perhaps I didn't completely remove that changes to the Portfile I already attempted; trying one more time now...]

That main.log ends with:

:info:build checking for suffix of object files... configure: error: in `/opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build/x86_64-apple-darwin24/libgcc':
:info:build configure: error: cannot compute suffix of object files: cannot compile
:info:build See `config.log' for more details
:info:build make[2]: *** [configure-stage1-target-libgcc] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build'
:info:build make[1]: *** [stage1-bubble] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build'
:info:build make: *** [bootstrap-lean] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build'
:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build" && /usr/bin/make -j8 -w bootstrap-lean 
:info:build Exit code: 2
:error:build Failed to build libgcc14: command execution failed
:debug:build Error code: CHILDSTATUS 77585 2
[…]
:error:build See /opt/local/var/macports/logs/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/main.log for details.

That’s the telltale of #70641. It indicates that the compiler driver that was just built does not have the AS_NEEDS_DASH_FOR_PIPED_INPUT fix.

If it happens again with the same configure: error: cannot compute suffix of object files: cannot compile, the config.log at /opt/local/var/macports/build/_Users_renee_Software_macports-ports_lang_gcc14/libgcc14/work/build/x86_64-apple-darwin24/libgcc/config.log will also be valuable for troubleshooting.

But at the very top of your log, I see:

:debug:main Starting logging for libgcc14 @14.2.0_1+stdlib_flag

The patch sets revision 2, and the version that Chris committed has a small change to put revision 2 into effect on macOS ≥ 14. Since your log shows 14.2.0_1, you must not have the patch in effect.

Since this has now been committed, you should be able to do a port sync and get 14.2.0_2 without any manual effort. If you’re still having trouble, make sure that you’ve got the correct Portfile. The SHA-256 hash should be:

mark@arm-and-hammer zsh% shasum -a256 lang/gcc14/Portfile
6544f069e9718a8fd753f90a15340e24471485874ee0a410ddd3f1dc813be90d  lang/gcc14/Portfile

comment:32 Changed 6 weeks ago by diekhans (Mark Diekhans)

I can confirm the change works.

Thanks all for the amazing effort

comment:33 Changed 6 weeks ago by haberg-1 (Hans Åberg)

It installs now, but I get a linker warning when compiling a C++ program: ld: warning: -ld_classic is deprecated and will be removed in a future release

Last edited 6 weeks ago by haberg-1 (Hans Åberg) (previous) (diff)

comment:34 in reply to:  33 Changed 6 weeks ago by markmentovai (Mark Mentovai)

Replying to haberg-1:

It installs now, but I get a linker warning when compiling a C++ program: ld: warning: -ld_classic is deprecated and will be removed in a future release

This warning doesn’t come from gcc. It comes from Apple’s ld, as of Xcode 16 (and the corresponding Command Line Tools version). MacPorts gcc requests this linker: lang/gcc14/Portfile. (${prefix}/bin/ld-classic is this wrapper that finds and runs ld -ld_classic.)

A new bug should be filed for this. It’s not related to this bug report, “Undefined symbols for architecture x86_64” while linking libgcc_s.1 from gcc14.

It’s possible that MacPorts gcc no longer needs the ld-classic workaround as long as gcc 0fe7962afc7c is in effect. That change has been cherry-picked as far back as gcc-11.

comment:35 Changed 6 weeks ago by haberg-1 (Hans Åberg)

Reported in ticket #70951, where you might put your info.

Last edited 6 weeks ago by haberg-1 (Hans Åberg) (previous) (diff)

comment:36 Changed 6 weeks ago by razzfazz (Daniel Becker)

Cc: razzfazz added
Note: See TracTickets for help on using tickets.