我无法在基板v1.0分支上编译节点运行时(作为根据安装说明从基板git repo基本目录运行./scripts/build.sh的一部分)。我得到的错误是:
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 | | );
| |__^
以前,这对我在同一台计算机上运行正常,但是无论我现在尝试什么,我都无法再对其进行编译。我的环境是WSL上的Ubuntu 18.04。
我怀疑它可能与最新的Rust版本1.37.0有关,因为这是自上次构建以来我所知道的唯一对环境的更改。但是我尝试使用1.35.0、1.36.0、1.37.0和1.39.0-nightly进行构建,所有这些都存在相同的问题。我还尝试完全删除我的.cargo目录,并从基底v1.0分支的新克隆开始。
任何帮助将不胜感激。
答案 0 :(得分:2)
昨天也遇到了这个问题,并开始寻找解决方法。所有您需要做的就是降级夜间版本。您可以使用以下命令:
$ rustup toolchain install nightly-2019-08-16
然后
$ rustup default nightly-2019-08-16
此后,当您开始启动./scripts/build.sh时,您将遇到与WASM相关的新问题。要确定此问题,请使用以下命令:
$ rustup target add wasm32-unknown-unknown --toolchain nightly
因此,您可以使用 build.sh ,并且在启动 cargo build --release 时,它也可以工作!