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

Cannot spawns a process called "rustc" on Windows #13

Closed
alexcrichton opened this issue Oct 19, 2015 · 3 comments
Closed

Cannot spawns a process called "rustc" on Windows #13

alexcrichton opened this issue Oct 19, 2015 · 3 comments

Comments

@alexcrichton
Copy link
Member

When using multirust on Windows it looks like invocations along the lines of Command::new("rustc") will fail because there's no binary called rustc.exe on the system (maybe the shell only runs batch files?)

@Diggsey
Copy link
Contributor

Diggsey commented Oct 19, 2015

Yes, unfortunately this is the unforeseen downside of using batch files as proxies. Command is essentially a wrapper around CreateProcess, which only looks for .exe files unless you specify a full path.

I have several options, each of which have their own downsides:

  1. Use batch files, have this problem
  2. Use symlinks, require admin privileges to install multirust
  3. Use copies of the multirust binary, the multirust binary is pretty big to duplicate a bunch of times
  4. Use stub executables, have to create them somehow...

Currently it looks like (2) with a fallback to (3) if it can't get admin permissions might be the best option.

@Diggsey
Copy link
Contributor

Diggsey commented Oct 20, 2015

This should be fixed now: it uses hardlinks on windows and symlinks elsewhere, instead of batch/shell scripts.

@Diggsey Diggsey closed this as completed Oct 20, 2015
@alexcrichton
Copy link
Member Author

Hurray! Thanks!

djc added a commit that referenced this issue Jun 18, 2024
# This is the 1st commit message:

Port cli_inst_interactive to CliTestContext

# The commit message #2 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #3 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #4 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #5 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #6 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #7 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #8 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #9 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #10 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #11 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #12 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #13 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #14 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #15 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #16 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #17 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #18 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #19 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #20 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #21 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #22 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #23 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #24 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #25 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #26 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #27 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #28 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #29 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #30 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #31 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #32 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #33 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #34 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #35 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #36 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #37 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #38 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #39 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext

# The commit message #40 will be skipped:

# fixup! Port cli_inst_interactive to CliTestContext
djc added a commit that referenced this issue Jun 18, 2024
# This is the 1st commit message:

Port cli_misc to CliTestContext

# The commit message #2 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #3 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #4 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #5 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #6 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #7 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #8 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #9 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #10 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #11 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #12 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #13 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #14 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #15 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #16 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #17 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #18 will be skipped:

# fixup! Port cli_misc to CliTestContext

# The commit message #19 will be skipped:

# fixup! Port cli_misc to CliTestContext
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants