work-around for Xcode 15 linker issue?

Chris Jones jonesc at hep.phy.cam.ac.uk
Wed Oct 4 11:37:40 UTC 2023


Hi,

On 04/10/2023 11:08 am, Maxim Abalenkov wrote:
> Dear Murray, Chris et al.,
> 
> How are you? I’m very sorry. I didn’t mean to mislead anybody. I’m also 
> learning. What user does MacPorts run as? Maybe it would be possible to 
> pass these environment variables to that ‘MacPorts’ user?

Its possible for ports to define specific environment variables, which 
will get set during the variable phases as that port builds. see

https://guide.macports.org/#reference.phases.configure

for more details.

for the specific issue here though, the canonical fix would be to add 
the linker option to the ldflags for a specific port. e.g.

configure.ldflags-append  -Wl,-ld_classic

that should be done inside a check on the Xcode version, so its only 
applied when needed. See e.g.

https://github.com/macports/macports-ports/commit/41cce53c601d6c407a48eaf7c705b45bec848dcb

where I did just this for the root6 port, and there it fixed the issues.

This will work for ports that are well behaved and respect the build 
flags macports sets. Unfortunately not all ports are and I have run into 
a number where the above does not work (e.g. looking at you py-scipy...)

cheers Chris

> 
>> Best wishes,
> Maxim
> 
> Maxim Abalenkov \\ maxim.abalenkov at gmail.com
> +44 7 486 486 505 \\ www.maxim.abalenkov.uk
> 
>> On 3 Oct 2023, at 21:25, Chris Jones <jonesc at hep.phy.cam.ac.uk> wrote:
>>
>> Hi,
>>
>> Just incase any one else reads this, anything you add to your user 
>> profile will nit have any effect on port builds, as these do not run 
>> as your user. So don’t try this expecting it to fix port builds.
>>
>> Chris
>>
>>> On 2 Oct 2023, at 4:18 pm, Maxim Abalenkov 
>>> <maxim.abalenkov at gmail.com> wrote:
>>>
>>> Hello Murray,
>>>
>>> How are you? As mentioned in the previous posts on this list, please 
>>> see Apple’s comments on the new linker issue:
>>>
>>> <developer-og.jpg>
>>> Xcode 15 Release Notes | Apple Developer Documentation 
>>> <https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Linking>
>>> developer.apple.com 
>>> <https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Linking>
>>>
>>> <https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Linking>
>>>
>>> For now, use Xcode 15 and its command line tools and try to enforce 
>>> the old linker by defining the following environment variables:
>>>
>>>   export MACOSX_DEPLOYMENT_TARGET=12
>>>   export OTHER_LDFLAGS=-Wl,-ld_classic
>>>
>>> You may place them into your ~/.profile file. I hope this helps.
>>>
>>>>>> Best wishes,
>>> Maxim
>>>
>>> Maxim Abalenkov \\ maxim.abalenkov at gmail.com
>>> +44 7 486 486 505 \\ www.maxim.abalenkov.uk
>>>
>>>> On 2 Oct 2023, at 15:29, Murray Eisenberg 
>>>> <murrayeisenberg at gmail.com> wrote:
>>>>
>>>> As reported at grac.macports.org <http://grac.macports.org/>, a 
>>>> number of ports will no longer install because configure fails with 
>>>> Xcode 15, which apparently has a linker issues.
>>>>
>>>> Some have suggested reverting to Xcode 14.3.1, to work around those 
>>>> issues.
>>>>
>>>> But under macOS Sonoma, that does not seem to be an option: After 
>>>> replacing Xcode 15 with Xcode 14.3.1, and similarly for the 
>>>> command-line tools, if I open Xcode 14.3.1, I get an error that this 
>>>> version of Xcode will not work with the OS (Sonoma).
>>>>
>>>> Is there some other work-around?
>>>>
>>>> ---
>>>> Murray Eisenbergmurrayeisenberg at gmail.com
>>>> Mobile (413)-427-5334
>>>> 503 King Farm Blvd #101
>>>> Rockville, MD 20850-6667
>>>>
>>>>
>>>>
>>>
> 


More information about the macports-users mailing list