Lighthouse: Native Windows Support

Created on 1 Jun 2020  路  5Comments  路  Source: sigp/lighthouse

Description

Support compiling Lighthouse with MSVC and executing as a native binary on Windows, without requiring the Windows Subsystem for Linux. Windows support under WSL is covered by #1238

Known Issues

  • [x] LevelDB doesn't run on Windows. Soln: RocksDB, LMDB? (#483)
  • [ ] We use some unix filesystem operations, particularly around permissions. Soln: separate permissions code for Windows.
  • [ ] Probably lots of networking incompatibilities (to investigate)
  • [x] milagro_bls uses paths that are not valid on Windows (#1447)

More points to be added as they're discovered

A0 enhancement major-task t Infrastructure CI CD Docker Directories

Most helpful comment

Managed to make everything compile (without restricting file permissions) and run a node and validator.

Working on fixing the file permissions atm.

All 5 comments

As a temporary workaround for the LevelDB issue, we could use the MemoryStore on Windows, and conditionally compile out all references to LevelDB using a feature flag (https://doc.rust-lang.org/cargo/reference/features.html).

I believe @AgeManning is having a look at this, when he has spare time.

Yep, conditional on the spare time part. Things keep arising at the moment.

If someone is interested in this, feel free to get a start on this.

Managed to make everything compile (without restricting file permissions) and run a node and validator.

Working on fixing the file permissions atm.

Found a nice library for manipulating windows file access control lists https://github.com/trailofbits/windows-acl

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jrhea picture jrhea  路  4Comments

paulhauner picture paulhauner  路  5Comments

q9f picture q9f  路  4Comments

paulhauner picture paulhauner  路  3Comments

nickoneill picture nickoneill  路  3Comments