www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Mac initial experience

reply Peter Alexander <peter.alexander.au gmail.com> writes:
I had to install D on a new Mac machine. The initial experience 
is pretty poor right now. Tried searching, but didn't see any 
other threads about this?


1. dlang.org directs you to download the DMD2.pkg - however, 
MacOS will not allow you to open this: "Apple could not verify 
'DMD2.pkg' is free of malware that may harm your Mac or 
compromise your privacy." - you have to work around this by going 
to system privacy settings and enabling it. Not a good first 
impression though.

2. Once installed, dmd just insta-crashes:

$ dmd
zsh: segmentation fault  dmd

This is due to a known (and fixed on nightly) issue with TLS 
changes on the most recent Mac, but you'll only find out about 
this if you go googling for the error.

3. Finally, since dmd doesn't support arm64 yet, unless you are 
careful you are very likely to run into various linking issues 
with e.g. libraries installed with arm64 with homebrew.


This is all a bit unfortunate, especially when we see e.g. the 
recent thread on hackernews for folks excited about D. I'm sure 
more than a handful of people decided to try out D after that 
post, and probably we lost a bunch of them due to these issue.

In terms of solutions:

1. Looks like we just need to notarise the .pkg? Probably needs 
the foundation to setup an Apple Developer account if it doesn't 
already have one, then it should just be a matter of running some 
Apple command-line tools as part of deployment.

2. Really, this should have been hot-fixed once the fix made it 
to nightly. I understand a new compiler is coming soon, so maybe 
this won't be a problem for long, but perhaps worth retrospecting 
on how this managed to stay broken for so long (appears to be a 
few months now that latest dmd crashes on latest Mac).

3. I think this has been discussed before, but perhaps we should 
direct people to ldc2 for now as the main download? Or perhaps 
just make it clear on the website that dmd is x86_64 only for now 
and provide the alternatives on the homepage.
Jul 05
next sibling parent Lance Bachmeier <no spam.net> writes:
On Saturday, 5 July 2025 at 10:36:05 UTC, Peter Alexander wrote:

 1. Looks like we just need to notarise the .pkg? Probably needs 
 the foundation to setup an Apple Developer account if it 
 doesn't already have one, then it should just be a matter of 
 running some Apple command-line tools as part of deployment.

 2. Really, this should have been hot-fixed once the fix made it 
 to nightly. I understand a new compiler is coming soon, so 
 maybe this won't be a problem for long, but perhaps worth 
 retrospecting on how this managed to stay broken for so long 
 (appears to be a few months now that latest dmd crashes on 
 latest Mac).

 3. I think this has been discussed before, but perhaps we 
 should direct people to ldc2 for now as the main download? Or 
 perhaps just make it clear on the website that dmd is x86_64 
 only for now and provide the alternatives on the homepage.
Maybe nobody is using DMD on Mac? The download page doesn't mention anything about any of these problems. At a minimum, I'd say there should be a link to the previous release and a note about the bug with a link to the LDC download.
Jul 05
prev sibling next sibling parent Daniel Kozak <kozzi11 gmail.com> writes:
I am using brew install ldc so never have any issue

Dne so 5. 7. 2025 12:40 u=C5=BEivatel Peter Alexander via Digitalmars-d <
digitalmars-d puremagic.com> napsal:

 I had to install D on a new Mac machine. The initial experience
 is pretty poor right now. Tried searching, but didn't see any
 other threads about this?


 1. dlang.org directs you to download the DMD2.pkg - however,
 MacOS will not allow you to open this: "Apple could not verify
 'DMD2.pkg' is free of malware that may harm your Mac or
 compromise your privacy." - you have to work around this by going
 to system privacy settings and enabling it. Not a good first
 impression though.

 2. Once installed, dmd just insta-crashes:

 $ dmd
 zsh: segmentation fault  dmd

 This is due to a known (and fixed on nightly) issue with TLS
 changes on the most recent Mac, but you'll only find out about
 this if you go googling for the error.

 3. Finally, since dmd doesn't support arm64 yet, unless you are
 careful you are very likely to run into various linking issues
 with e.g. libraries installed with arm64 with homebrew.


 This is all a bit unfortunate, especially when we see e.g. the
 recent thread on hackernews for folks excited about D. I'm sure
 more than a handful of people decided to try out D after that
 post, and probably we lost a bunch of them due to these issue.

 In terms of solutions:

 1. Looks like we just need to notarise the .pkg? Probably needs
 the foundation to setup an Apple Developer account if it doesn't
 already have one, then it should just be a matter of running some
 Apple command-line tools as part of deployment.

 2. Really, this should have been hot-fixed once the fix made it
 to nightly. I understand a new compiler is coming soon, so maybe
 this won't be a problem for long, but perhaps worth retrospecting
 on how this managed to stay broken for so long (appears to be a
 few months now that latest dmd crashes on latest Mac).

 3. I think this has been discussed before, but perhaps we should
 direct people to ldc2 for now as the main download? Or perhaps
 just make it clear on the website that dmd is x86_64 only for now
 and provide the alternatives on the homepage.
Jul 05
prev sibling parent reply Sergey <kornburn yandex.ru> writes:
On Saturday, 5 July 2025 at 10:36:05 UTC, Peter Alexander wrote:
 3. I think this has been discussed before, but perhaps we 
 should direct people to ldc2 for now as the main download? Or 
 perhaps just make it clear on the website that dmd is x86_64 
 only for now and provide the alternatives on the homepage.
I see you are new to D community :) DMD is not working on Arm So for Apple silicon you have only LDC option. There are some experiments with GDC, but the only really working solution is LDC. Regarding improvements on official page - don’t waste time, so many proposals were already taken to DLF They don’t care I mean they will say they do, but really they don’t Because words are nothing, only actions matter And there will be no actions. But it is fine. Of course some people left the community, but for those who left it is fine. We still can use D for our hobby projects :)
Jul 05
next sibling parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On Saturday, 5 July 2025 at 17:19:54 UTC, Sergey wrote:
 On Saturday, 5 July 2025 at 10:36:05 UTC, Peter Alexander wrote:
 3. I think this has been discussed before, but perhaps we 
 should direct people to ldc2 for now as the main download? Or 
 perhaps just make it clear on the website that dmd is x86_64 
 only for now and provide the alternatives on the homepage.
I see you are new to D community :)
Not that new! Long time D user here, was quite an active contributor back in ~2013. Recently been checking things out again. I've been using LDC on Mac for quite a while, but was interested to see what the DMD experience is like with Rosetta. I think people do care, but it's a community effort and people need to do the work for little to nothing in return. Hopefully I'll be all to make actual contributions soon, but for now can at least report issues.
Jul 05
parent reply Sergey <kornburn yandex.ru> writes:
On Saturday, 5 July 2025 at 17:58:35 UTC, Peter Alexander wrote:
 On Saturday, 5 July 2025 at 17:19:54 UTC, Sergey wrote:
 On Saturday, 5 July 2025 at 10:36:05 UTC, Peter Alexander 
 wrote:
 3. I think this has been discussed before, but perhaps we 
 should direct people to ldc2 for now as the main download? Or 
 perhaps just make it clear on the website that dmd is x86_64 
 only for now and provide the alternatives on the homepage.
I see you are new to D community :)
Not that new! Long time D user here, was quite an active contributor back in ~2013. Recently been checking things out again. I've been using LDC on Mac for quite a while, but was interested to see what the DMD experience is like with Rosetta.
Oh very nice! Welcome back Feel free to join Discord as well Many interactions (actually most of interactions) are happening there now :)
Jul 05
parent Peter Alexander <peter.alexander.au gmail.com> writes:
On Saturday, 5 July 2025 at 18:00:15 UTC, Sergey wrote:
 Oh very nice! Welcome back
 Feel free to join Discord as well

 Many interactions (actually most of interactions) are happening 
 there now :)
Thanks for the heads up, will check it out.
Jul 05
prev sibling parent reply Luna <luna foxgirls.gay> writes:
On Saturday, 5 July 2025 at 17:19:54 UTC, Sergey wrote:
 On Saturday, 5 July 2025 at 10:36:05 UTC, Peter Alexander wrote:
 3. I think this has been discussed before, but perhaps we 
 should direct people to ldc2 for now as the main download? Or 
 perhaps just make it clear on the website that dmd is x86_64 
 only for now and provide the alternatives on the homepage.
I see you are new to D community :) DMD is not working on Arm So for Apple silicon you have only LDC option. There are some experiments with GDC, but the only really working solution is LDC. Regarding improvements on official page - don’t waste time, so many proposals were already taken to DLF They don’t care I mean they will say they do, but really they don’t Because words are nothing, only actions matter And there will be no actions. But it is fine. Of course some people left the community, but for those who left it is fine. We still can use D for our hobby projects :)
DLF does care; that’s why they decided to sponsor me looking into solving issues like this. Life just happened in the intervening time so things ground to a halt for a while. I am slowly getting back to finding and solving issues w/ the Mac experience. Looking into potentially providing a pkg for LDC that will be signed and notarized by me. As for DMD; that’ll have to wait until the arm64 support is fully functional.
Jul 05
parent reply Lance Bachmeier <no spam.net> writes:
On Saturday, 5 July 2025 at 18:54:32 UTC, Luna wrote:

 Looking into potentially providing a pkg for LDC that will be 
 signed and notarized by me. As for DMD; that’ll have to wait 
 until the arm64 support is fully functional.
The problem is that someone looking at the downloads page would not know this. That needs to be changed.
Jul 05
parent Luna <luna foxgirls.gay> writes:
On Saturday, 5 July 2025 at 20:31:34 UTC, Lance Bachmeier wrote:
 On Saturday, 5 July 2025 at 18:54:32 UTC, Luna wrote:

 Looking into potentially providing a pkg for LDC that will be 
 signed and notarized by me. As for DMD; that’ll have to wait 
 until the arm64 support is fully functional.
The problem is that someone looking at the downloads page would not know this. That needs to be changed.
Yeah, once I get things set up I'll be talking with DLF about making a PR updating the downloads page.
Jul 06