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

Windows support #423

Open
austinabell opened this issue May 18, 2020 · 14 comments
Open

Windows support #423

austinabell opened this issue May 18, 2020 · 14 comments
Labels
Priority: 4 - Low Limited impact and can be implemented at any time Type: Enhancement

Comments

@austinabell
Copy link
Contributor

Issue summary

Forest doesn't work out of the box on windows for sure, so the documentation should be updated for installation instructions for required components (OpenCL and protoc might be a bit challenging for concise documentation).

If anyone attempts to run on windows, please document any incompatible issues so it can be resolved.

Other information and links

@StaticallyTypedAnxiety
Copy link
Contributor

I can attempt this, I was close to get it to compile, from what I see it is very possible to write a build script out of the box but requires a few things before hand

@amerameen amerameen added the Priority: 4 - Low Limited impact and can be implemented at any time label May 19, 2020
@lerajk
Copy link
Contributor

lerajk commented Oct 4, 2021

This could a good area for Forest product differentiation as Lotus doesn't support Windows.

@truemagic-coder
Copy link

I got Forest to build on WSL on Windows 11.

installed WSL (default Ubuntu - 20.04)
Installed Rustup
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install make build-essential libssl-dev libclang-dev pkg-config m4
make release

I tried plain Windows 11 by installing Rustup, Git, and VS 2019 C++ build tools. However, I could not get past gmp-mpfr-sys as it requires MinGW which at that point IMO WSL is a better choice.

@lerajk lerajk added Status: On Ice and removed Priority: 4 - Low Limited impact and can be implemented at any time labels Jan 18, 2022
@lemmih
Copy link
Contributor

lemmih commented Oct 25, 2022

@jdjaustin Would you be interested in looking into this? It would involve running Windows in a virtual machine.

@jdjaustin
Copy link
Contributor

@jdjaustin Would you be interested in looking into this? It would involve running Windows in a virtual machine.

I guess I missed this message back in the day. I can investigate this now.

@LesnyRumcajs
Copy link
Member

@lemmih @jdjaustin I'd approach adding Windows support with caution. Windows users can use WSL or Docker to run Forest. Supporting Windows natively would add work for us that might not be worth it, e.g., bugs that surface only on Windows (or windows versions of crates we use) and increased CI duration. It might also block us in the future if we would need to use a crate that doesn't support windows for whatever reason.

@jdjaustin
Copy link
Contributor

@lemmih @jdjaustin I'd approach adding Windows support with caution. Windows users can use WSL or Docker to run Forest. Supporting Windows natively would add work for us that might not be worth it, e.g., bugs that surface only on Windows (or windows versions of crates we use) and increased CI duration. It might also block us in the future if we would need to use a crate that doesn't support windows for whatever reason.

Honestly, while it's been a good learning exercise, so far the effort to run Forest on Windows natively may indeed not be worth it; as you mention, from what I understand some folks (including @aatifsyed and @hanabi1224 ?) are already successfully running Forest using WSL.

@elmattic
Copy link
Contributor

Just curious, what's preventing today to have a native Windows build?

@lemmih
Copy link
Contributor

lemmih commented Sep 18, 2023

Just curious, what's preventing today to have a native Windows build?

I'm interested in this as well. I half expected everything to work out of the box.

@jdjaustin
Copy link
Contributor

Just curious, what's preventing today to have a native Windows build?

I'm interested in this as well. I half expected everything to work out of the box.

Well it might have something to do with me emulating Windows on an ARM device, but we had to disable the default asm feature for sha2 and sha2raw and it is currently failing to build blst but I'm still not sure exactly why. Maybe someone with an x86 machine can also give it a try and report their findings.

@elmattic
Copy link
Contributor

elmattic commented Sep 18, 2023

@jdjaustin I can have a look as well.

Have you tried UTM with QEMU to emulate x86 or something else? I'm using this VM to run some 64-bit ARM Linux image on my Mac and it works fairly well (but no instruction emulation in this case though).

@LesnyRumcajs
Copy link
Member

LesnyRumcajs commented Sep 18, 2023

Have you tried UTM with QEMU to emulate x86 or something else?

This is precisely what I mean by too much work for too little gain. 🤣

@jdjaustin
Copy link
Contributor

jdjaustin commented Sep 19, 2023

@briansmith
Copy link

briansmith/ring#1614

This is done in ring 0.17.

@lemmih lemmih added the Priority: 4 - Low Limited impact and can be implemented at any time label Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: 4 - Low Limited impact and can be implemented at any time Type: Enhancement
Projects
None yet
Development

No branches or pull requests