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

ditch Windows GNU builds #380

Closed
ghost opened this issue Jan 1, 2019 · 8 comments
Closed

ditch Windows GNU builds #380

ghost opened this issue Jan 1, 2019 · 8 comments

Comments

@ghost
Copy link

ghost commented Jan 1, 2019

currently 4 windows versions are offered:

  • fd-v7.2.0-i686-pc-windows-gnu.zip
  • fd-v7.2.0-i686-pc-windows-msvc.zip
  • fd-v7.2.0-x86_64-pc-windows-gnu.zip
  • fd-v7.2.0-x86_64-pc-windows-msvc.zip

i get the x86_64 vs i686, but i dont see a reason to distribute both
gnu and msvc versions.

this makes sense for rust itself - because rust is going to use a different
linker depending on which version of rust you installed. however with FD it
doesnt make sense because we arent linking anything. FD is not a compiler, it
was linked with rust and thats it.

my vote would be the MSVC versions because they are smaller.

@ghost
Copy link
Author

ghost commented Jan 1, 2019

correcting myself - the MSVC version is smaller, but it requires Visual C++ 2015, which some users might not have installed - so maybe it makes sense to keep both

@sharkdp
Copy link
Owner

sharkdp commented Jan 1, 2019

but it requires Visual C++ 2015

wait... really? I would think that it requires VS for compiling, but not for running..?

@ghost
Copy link
Author

ghost commented Jan 1, 2019

@sharkdp yep, for example if you get Win7 from here:

https://developer.microsoft.com/microsoft-edge/tools/vms

and try to use this:

fd-v7.2.0-i686-pc-windows-msvc.zip

you get this:

fd.exe - System Error
---------------------------
The program can't start because VCRUNTIME140.dll is missing from your computer.
Try reinstalling the program to fix this problem.

its not a huge deal as you can get it from here:

https://blogs.technet.microsoft.com/jagbal/2017/09/04/where-can-i-download

but might be worth documenting.

@sharkdp
Copy link
Owner

sharkdp commented Jan 8, 2019

Interesting, thank you.

So should we keep the GNU version and remove the MSVC one? Any other opinions on this?

@ghost
Copy link
Author

ghost commented Jan 8, 2019

@sharkdp its a matter of opinion really - to keep everyone happy you would just continue as is.

but i am of the opinion it would be simpler just just have ONE 64-bit windows and ONE 32-bit windows

so the question becomes GNU or MSVC? again this is opinion - but i would say go with MSVC and ditch GNU - some might disagree with this as it introduces the runtime requirement - but enough programs are requiring it that many users will already have it installed. up to you.

@sharkdp
Copy link
Owner

sharkdp commented Jan 13, 2019

If there is a significant difference in both options, it seems reasonable to me to just keep both variants. If somebody has a different opinion, please comment here or write a short explanation in the corresponding README section.

@rbtcollins
Copy link

FWIW static CRT linkage should let you use MSVC builds that will on older windows without the c++ runtime installed

@retep998
Copy link

Add this to your .cargo/config

[target.x86_64-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static"]

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

No branches or pull requests

3 participants