Bug 14801 – OS X installer not compatible with OS X 10.11
Status
RESOLVED
Resolution
FIXED
Severity
blocker
Priority
P1
Component
installer
Product
D
Version
D2
Platform
All
OS
Mac OS X
Creation time
2015-07-15T07:01:00Z
Last change time
2015-10-04T18:20:45Z
Assigned to
nobody
Creator
doob
Comments
Comment #0 by doob — 2015-07-15T07:01:04Z
In the upcoming OS X 10.11 El Capitan Apple have new security policies. The result of this is that /usr/bin (and some other directories) are not writable, not even by root but /usr/local is available for developers [1].
The OS X installer should create the symlinks in /usr/local/bin instead of /usr/bin. /usr/local/bin is in the default PATH, so there should hopefully be no problems.
[1] https://developer.apple.com/videos/wwdc/2015/?id=706
Comment #1 by code — 2015-07-25T21:24:44Z
*** Issue 14826 has been marked as a duplicate of this issue. ***
Unfortunately it doesn't work. I'll see if I can find some more information.
Comment #4 by doob — 2015-07-28T11:00:08Z
It seems that /usr/share also isn't writable. I'm not sure where it's best to place the DMD installation. Apple doesn't have so much documentation about this specific for command line tools.
* MacPort places everything in /opt/local
* Homebrew places packages in their own directory somewhere in /usr/local
* There are some Ruby and Perl related folders (gems) in /Library
Comment #5 by code — 2015-07-28T21:25:42Z
(In reply to Jacob Carlborg from comment #4)
> It seems that /usr/share also isn't writable. I'm not sure where it's best
> to place the DMD installation.
/usr/local/bin <- binaries go here
/usr/local/lib <- libs go here
/usr/local/share/dmd <- docs and examples go here
Can you take care of that?
Comment #6 by doob — 2015-07-29T08:56:14Z
I prefer that the compiler is installed in one single directory and then symlinked to /usr/local/bin.
(In reply to Jacob Carlborg from comment #6)
> I prefer that the compiler is installed in one single directory and then
> symlinked to /usr/local/bin.
Why? It means twice as many files, and you'll still have to remove them.
Comment #9 by github-bugzilla — 2015-08-01T18:32:15Z
(In reply to Martin Nowak from comment #11)
Looks like the dmd.conf wasn't updated accordingly.
From Andrew:
It seems I spoke a bit too early, it actually does not. Placement of the
files worked but links to all the necessary binaries were not properly made.
only dmd has a link in /usr/local/bin/
DMD complains that it cannot find the import paths
/usr/share/dmd/src/phobos
/usr/share/dmd/src/druntime/import
These should not exist because the system will not allow you to write to
/usr/share, they should instead be placed in /usr/local/share.