From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: macOS Ventura 13.6 update problem Date: Sat, 18 Nov 2023 20:35:07 +0000 Organization: A noiseless patient Spider Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: dont-email.me; posting-host="972747fc8e0fde57855c5c0ac0549528"; logging-data="3639874"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Ix1pMMZdqF1b+TVutZ089mE0q9sagrms=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) Cancel-Lock: sha1:vNw3X/XG3L5StHHLJyNYdByg7IY= sha1:DErZ1oYL4d6eM6OJYzNnAY9YXFg= Xref: news.eternal-september.org comp.lang.ada:65865 List-Id: moi writes: > 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. 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