I am unable to compile node-runtime on the substrate v1.0 branch (as part of running ./scripts/build.sh from the substrate git repo base directory as per the installation instructions). The error I get is:
error: cannot find macro proc_macro_call! in this scope
--> /substrate/node/runtime/src/lib.rs:210:1
|
210 | / construct_runtime!(
211 | | pub enum Runtime with Log(InternalLog: DigestItem<Hash, AuthorityId, AuthoritySignature>) where
212 | | Block = Block,
213 | | NodeBlock = node_primitives::Block,
... |
234 | | }
235 | | );
| |__^
This had previously worked fine for me on the same machine but no matter what I try now, I cannot get this to compile anymore. My environment is Ubuntu 18.04 on WSL.
I suspected it could have been related to the latest Rust release 1.37.0 as that was the only change to my environment that I'm aware of since last building. But I have tried building with 1.35.0, 1.36.0, 1.37.0 and the 1.39.0-nightly all with same the issue. I have also tried completely blowing away my .cargo directory and starting from a fresh clone of the substrate v1.0 branch.
Any help would be most appreciated.
Also clashed with this problem yesterday and began to looking for ways of solving. All, that you need to do is, downgrade nightly version. You can use this command:
$ rustup toolchain install nightly-2019-08-16
and then
$ rustup default nightly-2019-08-16
After this, when you'll begin to launch ./scripts/build.sh, you will clash with a new trouble that is connected with WASM. For the decision of this issue use this command:
$ rustup target add wasm32-unknown-unknown --toolchain nightly
As a result, you can use build.sh and also when you will launch cargo build --release, it will work!