Skip to content

Commit

Permalink
Rollup merge of #95441 - AlecGoncharow:issue-95204-fix, r=Mark-Simula…
Browse files Browse the repository at this point in the history
…crum

Always use system `python3` on MacOS

This PR includes 2 changes:

1. Always use the system Python found at `/usr/bin/python3` on MacOS
2. Removes the hard requirement on having `python` in your system path if you didn't specify alternatives. The proposed change will instead attempt to find and use in order: `python` -> `python3` -> `python2`. This change isn't strictly necessary but without any change to this check, the original issue inspiring this change will still exist.

Fixes #95204
r? ```@jyn514```
  • Loading branch information
Dylan-DPC authored Apr 13, 2022
2 parents 1491e5c + 03c5f0d commit f6dfbfe
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
12 changes: 11 additions & 1 deletion src/bootstrap/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1176,7 +1176,17 @@ impl Build {

/// Path to the python interpreter to use
fn python(&self) -> &Path {
self.config.python.as_ref().unwrap()
if self.config.build.ends_with("apple-darwin") {
// Force /usr/bin/python3 on macOS for LLDB tests because we're loading the
// LLDB plugin's compiled module which only works with the system python
// (namely not Homebrew-installed python)
Path::new("/usr/bin/python3")
} else {
self.config
.python
.as_ref()
.expect("python is required for running LLDB or rustdoc tests")
}
}

/// Temporary directory that extended error information is emitted to.
Expand Down
4 changes: 3 additions & 1 deletion src/bootstrap/sanity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ pub fn check(build: &mut Build) {
.take()
.map(|p| cmd_finder.must_have(p))
.or_else(|| env::var_os("BOOTSTRAP_PYTHON").map(PathBuf::from)) // set by bootstrap.py
.or_else(|| Some(cmd_finder.must_have("python")));
.or_else(|| cmd_finder.maybe_have("python"))
.or_else(|| cmd_finder.maybe_have("python3"))
.or_else(|| cmd_finder.maybe_have("python2"));

build.config.nodejs = build
.config
Expand Down
9 changes: 1 addition & 8 deletions src/bootstrap/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1402,14 +1402,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the

cmd.arg("--docck-python").arg(builder.python());

if builder.config.build.ends_with("apple-darwin") {
// Force /usr/bin/python3 on macOS for LLDB tests because we're loading the
// LLDB plugin's compiled module which only works with the system python
// (namely not Homebrew-installed python)
cmd.arg("--lldb-python").arg("/usr/bin/python3");
} else {
cmd.arg("--lldb-python").arg(builder.python());
}
cmd.arg("--lldb-python").arg(builder.python());

if let Some(ref gdb) = builder.config.gdb {
cmd.arg("--gdb").arg(gdb);
Expand Down

0 comments on commit f6dfbfe

Please sign in to comment.