Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] superenv: set effective_sysroot on 10.14 CLT #4299

Closed

Conversation

mistydemeo
Copy link
Member

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew style with your changes locally?
  • Have you successfully run brew tests with your changes locally?

I'm mostly opening this for documentation. It's probably too early in the cycle to start committing workarounds like this.

The current version of the CLT doesn't include headers in the traditional Unixy locations, which breaks some software and which means that we end up not setting some special include paths. I've filed this bug as rdar://40833474, but meanwhile this workaround fixes broken builds like imagemagick.

If the traditional Unix locations aren't coming back, we'll have to look at wider-reaching changes, but I'll want to let more time pass before looking at something like that.

See also Homebrew/homebrew-core#28703 and Homebrew/homebrew-core#28733.

@ghost ghost assigned mistydemeo Jun 7, 2018
@ghost ghost added the in progress Maintainers are working on this label Jun 7, 2018
@MikeMcQuaid MikeMcQuaid changed the title superenv: set effective_sysroot on 10.14 CLT [WIP] superenv: set effective_sysroot on 10.14 CLT Jun 7, 2018
@andrewpile
Copy link

andrewpile commented Jun 9, 2018

FWIW, the XCode 10 release notes make mention of the missing headers and provide a package for installing them in /usr/include, this is an additional step after installing CLT.

The Command Line Tools package installs the macOS system headers inside the macOS SDK.
Software that compiles with the installed tools will search for macOS headers at the standard
include path:

/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include

For legacy software that looks for the macOS headers in the base system under /usr/include, please install the package file located at:

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

@ilovezfs
Copy link
Contributor

ilovezfs commented Jun 9, 2018

😭

@mistydemeo
Copy link
Member Author

@andrewpile Yeah, I'm planning on replacing this PR with one that diretly addresses that... thanks!

@yurikoles
Copy link
Contributor

yurikoles commented Jun 11, 2018

rdar://40833474

How to open that link $_%?

@mistydemeo
Copy link
Member Author

How to open that link $_%?

Radars aren't public; I included the radar number for reference, but it's not accessible.

@mistydemeo
Copy link
Member Author

Closing in favour of #4334 and #4335, which are more thorough approaches to this situation.

@mistydemeo mistydemeo closed this Jun 12, 2018
@ghost ghost removed the in progress Maintainers are working on this label Jun 12, 2018
@mistydemeo mistydemeo deleted the mojave_effective_sysroot branch June 12, 2018 22:25
@lock lock bot added the outdated PR was locked due to age label Jul 12, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Jul 12, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants