-
-
Notifications
You must be signed in to change notification settings - Fork 593
Patch pip environment with xcode sdk location. #697
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
Conversation
There were a few other flags I had to override from sysconfig, I'll dig them out. |
92f9be0
to
48ba578
Compare
I also found that we needed to override the include paths set for
And set them on
|
My understanding is that all the standard library includes can be found under the sysroot. From clang docs:
Is the difference that when compiling cpp files you need to set CPPFLAGS in addition to CFLAGS? If so does the -isysroot not apply to cpp compiles? Though the documentation is a bit confusing clang supports
|
62084a9
to
fb84199
Compare
@mattem I think I resolved the issues you brought up except for the extra include flags, which I don't think are required based on docs I've read. If there aren't any blockers can we land this and iterate on any edge cases after? Alternatively if you have a repro of an extension that doesn't build with the current PR I could work off of that. |
Do this when running on macos and using the standalone interpreters. Update doc dependencies
…bug on linux, debug sdk location in build kite container.
82c824d
to
635d8f3
Compare
@f0rmiga I resolved your comments. I tried using |
Oh, interesting! Thanks for addressing the comments. |
This pulls in this commit bazel-contrib/rules_python#697 which fixes another issue with envoyproxy#22217 (although not everything yet) Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
This pulls in this commit bazel-contrib/rules_python#697 which fixes another issue with #22217 (although not everything yet) Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
This pulls in this commit bazel-contrib/rules_python#697 which fixes another issue with envoyproxy/envoy#22217 (although not everything yet) Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
Fixes issues in #646 by setting CPPFLAGS to the correct xcode sdks.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
If you use one of the hermetic standalone interpreters provided by rules_python pip fails to build sdists with native code extensions because the sysconfig clang flags provided by the standalone interpreters match the interpreter build environment which is almost always different than the execution environment. We fix this issue by providing the correct libc system headers location via CFLAGS env var.
What is the new behavior?
Pip installing a wheel which needs native code build will succeed.
Does this PR introduce a breaking change?
Other information
The Windows image in buildkite doesn't have a c++ toolchain available for pip to use to in order to test changes I had to introduce a platform specific requirement into examples/pip_install/requirements.in. In order to appease the platform specific requirements.txt files resulting from compile_pip_requirements I added support for platform specific lock files to compile_pip_requirements. pip-compile can't generate cross platform requirement files from an arbitrary execution platform, so that is left up to the user to generate in their own environments.