Skip to content

rustc vs rustc.exe in PATH (Windows/MinGW) #3319

@mcandre

Description

@mcandre

When I open the Command Prompt, rustc is successfully found in PATH, but needs libgcc to run.

C:\> rustc --lib mycode.rs
The program can't start because libgcc_s_dw2-1.dll is missing from your computer.
Try reinstalling the program to fix this problem.

So I try MinGW.

$ rustc --lib mycode.rs
sh: rustc: command not found
$ where rustc
c:\Program Files (x86)\Rust\bin\rustc.exe
$ rustc.exe
Usage: c:\Program Files (x86)\Rust\bin\rustc.exe [options] <input>
...

For some reason, MinGW cannot find rustc unless it is specified as rustc.exe. This is highly inconvenient, as my shell scripts are configured to call rustc; I do not want to use different settings between [Windows] and [Mac OS X, Linux, Unix, Haiku]. I just want to be able to use rustc in all cases, if possible straight from the Command Prompt rather than MinGW.

Can someone please bundle the libgcc DLL with rustc in the Windows installer so that it can be used like a normal decent program?

Activity

brson

brson commented on Aug 31, 2012

@brson
Contributor

This is annoying. It's because we also have a directory called rustc in the same location as rustc.exe. I would like to change the name of this directory. Note though that we should not rename it to 'rust' because it's likely we'll have a tool with that name too at some point.

graydon

graydon commented on Mar 25, 2013

@graydon
Contributor

concerning libgcc, shipping libgcc won't get us anywhere since rustc uses gcc as a link driver: so rustc will start but won't compile (well, link) anything. the rustc/ directory sub-issue here is fixable, though.

brson

brson commented on Mar 29, 2013

@brson
Contributor

A solution @graydon mentioned to being able to name rustc on the command line was to always put the target artifacts under lib/ even on windows. That way there is no rustc directory under bin/. I'm not entirely sure of all the details involved to make that happen but it seems plausible.

brson

brson commented on Mar 31, 2013

@brson
Contributor

Not going to happen for 0.6, sadly.

graydon

graydon commented on Apr 29, 2013

@graydon
Contributor

nobody has taken this on for 0.7, sorry. pushing to general maturity milestone. it does need to get fixed.

thomaslee

thomaslee commented on Aug 1, 2013

@thomaslee
Contributor

I'm keen to close out #5223 to inch rust a little closer to readiness for downstream packages. I think if we can address this issue (#3319), #5223 should be trivial since the only weird case in there atm is for Windows.

That said, it's not entirely clear to me what @graydon had in mind here: do we simply go back to installing library artifacts under lib/ on win32 (as we currently do for Linux et al) & ask Windows users to update their %PATH% to include lib/ in addition to bin/?

Given this has slipped a few releases, I'm guessing it's more difficult than that. What would be involved in closing this out?

milesrout

milesrout commented on Oct 2, 2013

@milesrout

@brson If that is indeed the problem (the rustc directory), why not rename that directory in the next release?

ubershmekel

ubershmekel commented on Oct 9, 2013

@ubershmekel

I'm completely new to rust and llvm but ok with windows, c and python. So pardon my ignorance but I'd like to help if I can. I don't understand how are these related to the path problem:

#9252

#7089

#3318

I just now finished installing rust on windows8x64 (6.2.9200) and had 2 bumps - missing libstdc++-6a.dll, installing mingw only to get "The application was unable to start correctly (0xc0000142)." because it was the wrong dll. To finally download http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.6.2-1/libstdc%2B%2B-4.6.2-1-mingw32-dll-6.tar.lzma/download so I hope this shouldn't be too hard to fix by just bundling the right dll. Do tell if you don't mind me trying to make a pull request or if someone's already on it. ubershmekel at gmail

klutzy

klutzy commented on Oct 9, 2013

@klutzy
Contributor

@ubershmekel sounds like it is #9252 (missing dlls). We currently ships them, but it was done after 0.8 release. So if you've installed 0.8 binary, you had to download such old dlls manually.
If you've installed rust from latest source, there should be no "wrong dll" issues. In the case, please leave a comment at #9252 so we can investigate it more :)

ubershmekel

ubershmekel commented on Oct 9, 2013

@ubershmekel

Indeed I downloaded what http://static.rust-lang.org/doc/master/tutorial.html told me to. That was http://static.rust-lang.org/dist/rust-0.8-install.exe which means that perhaps a minor documentation patch remains to be applied after a new installer is distributed.

Thank you!

mcandre

mcandre commented on Oct 10, 2013

@mcandre
Author

Does the Chocolatey package put rustc in PATH?

http://chocolatey.org/packages?q=rust

On Wed, Oct 9, 2013 at 4:38 AM, Yuval Greenfield
notifications@github.comwrote:

Indeed I downloaded what
http://static.rust-lang.org/doc/master/tutorial.html told me to. That was
http://static.rust-lang.org/dist/rust-0.8-install.exe which means that
perhaps a minor documentation patch remains to be applied after a new
installer is distributed.

Thank you!


Reply to this email directly or view it on GitHubhttps://github.com//issues/3319#issuecomment-25954845
.

Cheers,

Andrew Pennebaker
www.yellosoft.us

22 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-cleanupCategory: PRs that clean code up or issues documenting cleanup.O-windowsOperating system: WindowsP-mediumMedium priority

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Participants

      @mcandre@graydon@ubershmekel@jhasse@thomaslee

      Issue actions

        rustc vs rustc.exe in PATH (Windows/MinGW) · Issue #3319 · rust-lang/rust