Substrate: Substrate on Windows

Created on 2 Jan 2019  路  5Comments  路  Source: paritytech/substrate

Hi. In this issue, I wanna track the progress of all Windows related TODOs. Goal is to make Substrate as easy to develop as on MacOS / Linux 馃槃

TODOs:

  • [x] Update to rocksdb = 0.11.0 (it seems that there will be a release soon) to fix build issues on Windows (See also #1299)

    • [x] Update to rocksdb = 0.11.0 in https://github.com/paritytech/parity-common/tree/bkchr-shitty-memory-leak-detection?? (https://github.com/paritytech/parity-common/commit/b0317f649ab2c665b7987b8475878fc4d2e1f81d)

    • [x] Update parity-common in substrate accordingly. (https://github.com/paritytech/substrate/commit/abdf57fcaaf41b578ef7ec8fa0730363d3ae3838)

  • [x] Update to ring = 0.13.5 and to untrusted = 0.6.2 to fix build issues on Windows

    • [x] First, update to latest libp2p in substrate as recommended in https://github.com/libp2p/rust-libp2p/pull/674

    • [x] Update ring = 0.13.5 and untrusted = 0.6.2 in libp2p (https://github.com/libp2p/rust-libp2p/commit/f55a8bc2f39485692f8b6ad9dbc41c9d48f7ce58)

    • [x] Update libp2p in substrate again to get new ring and untrusted dependencies (https://github.com/paritytech/substrate/commit/8b0e5d7ca8b3bf4ae2ad26d773e466d5bc30cbaa)

    • [x] Update parity-crypto = 0.2, ring = 0.13.5 and untrusted = 0.6.2 in substrate (https://github.com/paritytech/substrate/commit/8b0e5d7ca8b3bf4ae2ad26d773e466d5bc30cbaa)

  • [x] Add instructions on how to build substrate on Windows to the [README] (https://github.com/paritytech/substrate/commit/a66a044b24288a82e0cc5ebbb67ed7b4420f15ea)(https://github.com/paritytech/substrate/blob/master/README.adoc)

    • How to install llvm/clang

    • How to install openssl

I've created https://github.com/Mischi/substrate/tree/fix-windows which contains updates to parity-crypto, rocksdb, ring, and untrusted. The branch works now on three windows machines. (CC: @kenhuang)

Next I'll have a look on updating libp2p ....

I8-enhancement 馃巵

Most helpful comment

Substrate is now working for us on Windows without any problems. Thanks everybody!

All 5 comments

Next I'll have a look on updating libp2p ....

This is a non-trivial task, but we can easily crate a side-branch in libp2p with ring updated to 0.13 if that's the blocking point.

@tomaka, Indeed. it is a non-trivial task for me atm. and it will take me some time to work through libp2p and how/what substrate uses of it.

Regarding a side-branch, this is what I did in https://github.com/Mischi/rust-libp2p/commit/f78f6ec997f11ebe2ed1ed41047d8e6ac791cbfd and https://github.com/Mischi/substrate/commit/052710cffaec4ccf21af4853ea443f6d7d903969 and it is working for me and my coworkers.

If you're ok with using a side-branch for the moment than it would definitly make life easier for some Windows users for the time being 馃槂

@tomaka, do you wanna push the branch https://github.com/Mischi/rust-libp2p/tree/fix-windows to https://github.com/libp2p/rust-libp2p? I could create a pull request then for substrate if needed.

Thanks!

Indeed. it is a non-trivial task for me atm. and it will take me some time to work through libp2p and how/what substrate uses of it.

I'm already working on it.

cc #1386

Substrate is now working for us on Windows without any problems. Thanks everybody!

Was this page helpful?
0 / 5 - 0 ratings