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

Prevent building with busted xcode tools #22978

Open
jdm opened this issue Mar 6, 2019 · 13 comments
Open

Prevent building with busted xcode tools #22978

jdm opened this issue Mar 6, 2019 · 13 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented Mar 6, 2019

We know that a particular version of xcode that is available with MacOS Mojave contains a bug that prevents linking Servo (#21792). We should detect that and tell users attempting to build Servo with that XCode version that they need to update.

It might be possible to use xcode-select --version to detect this. On a system with a busted version, the output is 2354. On my system which is pre-Mojave is it 2347.

@jdm
Copy link
Member Author

@jdm jdm commented Mar 6, 2019

@paulrouget What does xcode-select --version show on a system with the xcode beta installed?

@pradyunsg
Copy link

@pradyunsg pradyunsg commented Mar 6, 2019

The check has to be added in this file, or is there a better place?

https://github.com/servo/servo/blob/master/python/servo/build_commands.py#L200

@jdm
Copy link
Member Author

@jdm jdm commented Mar 6, 2019

Yes, that seems fine to me. We have similar checks for known-broken configurations at

# https://github.com/servo/servo/issues/22069
if debug_mozjs and magicleap:
print("Please specify either --debug-mozjs or --magicleap.")
sys.exit(1)
.

@CYBAI
Copy link
Collaborator

@CYBAI CYBAI commented Mar 7, 2019

I remember I'm using Xcode beta on macOS Mojave (10.14.3) but, unfortunately, I see 2354 from xcode-select --version. Not sure if I checked in the right way? 🤔

→ xcode-select -p
/Applications/Xcode-beta.app/Contents/Developer

→ xcode-select --version
xcode-select version 2354.
@jdm
Copy link
Member Author

@jdm jdm commented Mar 7, 2019

Humbug. What about dsymutil --version?

@CYBAI
Copy link
Collaborator

@CYBAI CYBAI commented Mar 7, 2019

→ dsymutil --version
Apple LLVM version 10.0.1 (clang-1001.0.37.9)
  Optimized build.
  Default target: x86_64-apple-darwin18.2.0
  Host CPU: skylake
@jdm
Copy link
Member Author

@jdm jdm commented Mar 7, 2019

Apple LLVM version 9.0.0 (clang-900.0.39.2)
  Optimized build.
  Default target: x86_64-apple-darwin16.7.0
  Host CPU: haswell

How about yours @pradyunsg?

@pradyunsg
Copy link

@pradyunsg pradyunsg commented Mar 7, 2019

Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  Optimized build.
  Default target: x86_64-apple-darwin18.2.0
  Host CPU: haswell
@pradyunsg
Copy link

@pradyunsg pradyunsg commented Mar 7, 2019

Should I try adding homebrew's LLVM to the path? (it does seem insanely fairly old)

$ /usr/local/Cellar/llvm/7.0.1/bin/dsymutil --version
LLVM (http://llvm.org/):
  LLVM version 7.0.1
  Optimized build.
  Default target: x86_64-apple-darwin18.2.0
  Host CPU: haswell
@jdm
Copy link
Member Author

@jdm jdm commented Mar 7, 2019

No idea if that will work or not. The supported way is to install the xcode beta.

@pradyunsg
Copy link

@pradyunsg pradyunsg commented Mar 7, 2019

I'll try after my paper today.

@paulrouget
Copy link
Contributor

@paulrouget paulrouget commented Mar 7, 2019

xcode-select --version shows 2354 with the beta.

dsymutil --version shows:

Apple LLVM version 10.0.1 (clang-1001.0.37.7)
  Optimized build.
  Default target: x86_64-apple-darwin18.2.0
  Host CPU: skylake
@pradyunsg
Copy link

@pradyunsg pradyunsg commented Mar 7, 2019

The supported way is to install the xcode beta.

Alrighty then, starting an ~7 hour download then. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.