Opened 7 months ago

Closed 7 months ago

Last modified 7 months ago

#68451 closed defect (wontfix)

libgcc11 @11.4.0: ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.

Reported by: jade2k11598 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: sonoma Cc:
Port: libgcc11

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

After updating to Sonoma 14.0, issued command sudo port upgrade outdated and failed when building libgcc11:

:info:build -macosx_version_min has been renamed to -macos_version_min
:info:build 0  0x1067a8f43  __assert_rtn + 64
:info:build 1  0x1066aaf43  ld::AtomPlacement::findAtom(unsigned char, unsigned long long, ld::AtomPlacement::AtomLoc const*&, long long&) const + 1411
:info:build 2  0x1066c7431  ld::InputFiles::SliceParser::parseObjectFile(mach_o::Header const*) const + 19745
:info:build 3  0x1066d7b71  ld::InputFiles::parseAllFiles(void (ld::AtomFile const*) block_pointer)::$_7::operator()(unsigned long, ld::FileInfo const&) const + 657
:info:build 4  0x7ff817f3c5cd  _dispatch_client_callout2 + 8
:info:build 5  0x7ff817f4e19d  _dispatch_apply_invoke_and_wait + 214
:info:build 6  0x7ff817f4d6ab  _dispatch_apply_with_attr_f + 1181
:info:build 7  0x7ff817f4d85f  dispatch_apply + 45
:info:build 8  0x106770972  ld::AtomFileConsolidator::parseFiles(bool) + 370
:info:build 9  0x1066f7d67  main + 12263
:info:build ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.

main.log is attached.

I did issue sudo port clean libgcc11 before re-issuing sudo port upgrade outdated before the same error occurred again.

I looked online and notice that people using homebrew came across the same error and it seems compiling with the option -Wl,-ld_classic, fixes the problem.

Attachments (1)

part-main.log (20.2 KB) - added by jade2k11598 7 months ago.
Last several lines the error log provided by macport when the libgcc11 failed to build; couldn't load the whole file since the file was too large.

Download all attachments as: .zip

Change History (11)

Changed 7 months ago by jade2k11598

Attachment: part-main.log added

Last several lines the error log provided by macport when the libgcc11 failed to build; couldn't load the whole file since the file was too large.

comment:1 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: sonoma added; libgcc11 Sonoma removed
Milestone: MacPorts Future
Port: libgcc11 added
Priority: HighNormal
Summary: libgcc11 fails to build on Mac Sonomalibgcc11 @11.4.0: ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.

comment:2 Changed 7 months ago by jmroot (Joshua Root)

I expect you'll probably need the newest GCC version for Sonoma support.

comment:3 Changed 7 months ago by cjones051073 (Chris Jones)

This is probably just the Xcode 15 linker issue. I have patched gcc13 and gcc12 to work with this Xcode version, but didn’t yet do it for gcc11.

I will push the work around for gcc11 as well, but Unless you need gcc11 specifically for some reason, I recommend anyway moving to a newer version.

comment:4 Changed 7 months ago by cjones051073 (Chris Jones)

Seems gcc11 is anyway flagged as known to fail on Darwin 22 and newer

 > sudo port -v install libgcc11  
libgcc11 is known to fail. Try to install anyway? [y/N]: n

Guess the OP must have ignore that and proceeded ?

I'll push the update just incase it helps but I suspect gcc11 will still not build on these platforms so the OP should just move to a newer version.

comment:6 Changed 7 months ago by cjones051073 (Chris Jones)

Resolution: wontfix
Status: newclosed

Build still fails on gcc11, so the restriction on darwin 22 and newer remains.

comment:7 in reply to:  6 Changed 7 months ago by jmroot (Joshua Root)

Replying to cjones051073:

Build still fails on gcc11, so the restriction on darwin 22 and newer remains.

Is that based on your own local testing? The commit referenced above didn't change the supported platforms, so no build was attempted on the buildbot.

comment:8 Changed 7 months ago by jade2k11598

This problem appeared because I was trying to update my ports (sudo port upgrade outdated). I've removed libgcc11 and its dependencies. But every time I try to resume sudo port upgrade outdated, it keeps bringing back libgcc11. I checked for dependencies on libgcc11:

$ port dependents libgcc11
Error: Registry error: libgcc11 not registered as installed.

How can I resume in my port upgrade and not have it continually attempt to install libgcc11?

comment:9 Changed 7 months ago by cjones051073 (Chris Jones)

You need to identify which of your current ports are depending on (lib)gcc11, and reinstall them using more up-to-date variants (i.e. use gcc13).

comment:10 Changed 7 months ago by cjones051073 (Chris Jones)

Try running this

port installed and depends:gcc11 or depends:libgcc11
Note: See TracTickets for help on using tickets.