Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

macOS Ventura 13.6 update problem

131 views
Skip to first unread message

moi

unread,
Sep 22, 2023, 4:02:21 PM9/22/23
to
Installing the macOS Ventura 13.6 security update clobbers GNAT.
Specifically, the link stage fails:

> -macosx_version_min has been renamed to -macos_version_min
> 0 0x104de0f43 __assert_rtn + 64
> 1 0x104ce2f43 ld::AtomPlacement::findAtom(unsigned char, unsigned long long, ld::AtomPlacement::AtomLoc const*&, long long&) const + 1411
> 2 0x104cff431 ld::InputFiles::SliceParser::parseObjectFile(mach_o::Header const*) const + 19745
> 3 0x104d0fb71 ld::InputFiles::parseAllFiles(void (ld::AtomFile const*) block_pointer)::$_7::operator()(unsigned long, ld::FileInfo const&) const + 657
> 4 0x7ff80b631066 _dispatch_client_callout2 + 8
> 5 0x7ff80b642e09 _dispatch_apply_invoke + 213
> 6 0x7ff80b631033 _dispatch_client_callout + 8
> 7 0x7ff80b6410f6 _dispatch_root_queue_drain + 683
> 8 0x7ff80b641768 _dispatch_worker_thread2 + 170
> 9 0x7ff80b7cec0f _pthread_wqthread + 257
> ld: Assertion failed: (resultIndex < sectData.atoms.size()), function findAtom, file Relocations.cpp, line 1336.
> collect2: error: ld returned 1 exit status
> gnatmake: *** link failed.

Simon's "magic formula", '-largs -Wl,-ld_classic' restores sanity.
I guess the CLTs were updated without asking permission. 8-(

--
Bill F.

Simon Wright

unread,
Sep 23, 2023, 7:16:06 AM9/23/23
to
I managed to avoid this this morning (I've been resisting the attempted
upgrade to CLT 15.0) by looking to see what was proposed, seeing that
there were 2 upgrades (Ventura & CLT), and unchecking the CLT.

Iain Sandoe recommends[1] re-installing 14.3 (you should be able to
download it from the developer.apple.com website, although you do need
an apple ID to do that)

[1] https://github.com/iains/gcc-12-branch/issues/22#issuecomment-1730213294

Simon Wright

unread,
Sep 23, 2023, 12:36:58 PM9/23/23
to
Simon Wright <si...@pushface.org> writes:

> I managed to avoid this this morning (I've been resisting the
> attempted upgrade to CLT 15.0) by looking to see what was proposed,
> seeing that there were 2 upgrades (Ventura & CLT), and unchecking the
> CLT.

And now it proposes to install it tonight. Ugh. Investigating what
happens if I turn off automatic installation of macOS updates ...

Leo Brewin

unread,
Sep 23, 2023, 6:37:09 PM9/23/23
to
Hmm, this is odd. I'm having no problems.
I'm running mac OS Ventura 13.6 (with the security update), CLT 15.0
and gnat based on gcc 13.1.

moi

unread,
Sep 23, 2023, 8:48:00 PM9/23/23
to
Ah!
I'm still on GNAT 12.2.0.

I should have added that, although the link phase works,
it produces this message, which is new:

> -macosx_version_min has been renamed to -macos_version_min

And Free Pascal Compiler version 3.2.2 [2021/05/16] for x86_64
also complains, thus;

> ld: warning: -multiply_defined is obsolete

But again, the linking succeeds.

--
Bill F.

Simon Wright

unread,
Sep 24, 2023, 7:56:00 AM9/24/23
to
Leo Brewin <Leo.B...@monash.edu> writes:

> Hmm, this is odd. I'm having no problems.
> I'm running mac OS Ventura 13.6 (with the security update), CLT 15.0
> and gnat based on gcc 13.1.

I was under the impression that 13.6 _was_ a security update!

Investigation so far shows that linking against the static Ada runtime
(the default, -bargs -static) crashes, against the shared runtime
(-bargs -shared) is OK.

With 12.2.0, 13.1.0, 14.0.0.

I occurs to me that it might be _any_ static library? ... later

Simon Wright

unread,
Sep 24, 2023, 11:38:40 AM9/24/23
to
Simon Wright <si...@pushface.org> writes:

> I occurs to me that it might be _any_ static library? ... later

Yes, so it is. Damn.

Martin Krischik

unread,
Nov 18, 2023, 9:22:48 AM11/18/23
to
moi schrieb am Freitag, 22. September 2023 um 22:02:21 UTC+2:
> Installing the macOS Ventura 13.6 security update clobbers GNAT.

Great. I already put off major macOS updated because I don't want to break a working system. Now I need to avoid „security“ updates as well. The „just works“ sale point is eroding.

> Simon's "magic formula", '-largs -Wl,-ld_classic' restores sanity.

Now I have to find out how that works.

Martin

moi

unread,
Nov 18, 2023, 2:23:57 PM11/18/23
to
On 18/11/2023 14:22, Martin Krischik wrote:
> moi schrieb am Freitag, 22. September 2023 um 22:02:21 UTC+2:
>> Installing the macOS Ventura 13.6 security update clobbers GNAT.
>
> Great. I already put off major macOS updated because I don't want to break a working system. Now I need to avoid „security“ updates as well. The „just works“ sale point is eroding.

It was actually the well hidden update of the Command Line Tools
accompanying th security update that caused the problem.
Just make sure to unselect the CLT update.

>> Simon's "magic formula", '-largs -Wl,-ld_classic' restores sanity.
> Now I have to find out how that works.

Just add "-largs -Wl,-ld_classic" to the linker parameters,
if you have updated the CLTs.

--
Bill F.

Simon Wright

unread,
Nov 18, 2023, 3:35:12 PM11/18/23
to
e.g. gnatmake foo.adb -largs -Wl,-ld_classic
or gprbuild -P foo -largs -Wl,-ld_classic
or alr build -- -largs -Wl,-ld_classic

The GNAT tools use gcc to drive the system linker ld. When gcc sees
-Wl,-foo,bar it sends "-foo bar" to ld (the 'l' means 'linker'; see the
GCC switches web page for the other possibilities).

When /usr/bin/ld (from Xcode 15) sees -ld_classic, rather than taking it
as an instruction to process libld_classic.{a,dylib}, it delegates the
actual link to /Library/Developer/CommandLineTools/usr/bin/ld-classic.

Wow.

You could always download the 15.1 beta version of the tools package
from developer.apple.com
0 new messages