multiple applicable items in scope - rust

I'm using Ubuntu 20.04.2.0-desktop-amd64 , Substrate 3.0.0
Version:
gh#ubuntu:~$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home: /home/gh/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (default)
rustc 1.50.0 (cb75ad5db 2021-02-10)
And I'm using "cargo install --force subkey --git https://github.com/paritytech/substrate"
to download
But I can't download Subkey:
Compiling idna v0.1.5
error[E0034]: multiple applicable items in scope
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/field.rs:801:12
|
801 | if M::BITS > T::Mem::BITS {
| ^^^^ multiple `BITS` found
|
note: candidate #1 is defined in the trait `BitMemory`
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/mem.rs:44:2
|
44 | const BITS: u8 = mem::size_of::<Self>() as u8 * 8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: candidate #2 is defined in the trait `IsNumber`
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/funty-1.2.0/src/lib.rs:144:2
|
144 | const BITS: u32;
| ^^^^^^^^^^^^^^^^
help: disambiguate the associated constant for candidate #1
|
801 | if BitMemory::BITS > T::Mem::BITS {
| ^^^^^^^^^^^^^^^
help: disambiguate the associated constant for candidate #2
|
801 | if IsNumber::BITS > T::Mem::BITS {
| ^^^^^^^^^^^^^^
error[E0308]: mismatched types
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/field.rs:801:19
|
765 | fn load_le<M>(&self) -> M
| - this type parameter
...
801 | if M::BITS > T::Mem::BITS {
| ^^^^^^^^^^^^ expected type parameter `M`, found `u8`
|
= note: expected type parameter `M`
found type `u8`
error[E0034]: multiple applicable items in scope
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/field.rs:809:12
|
809 | if M::BITS > T::Mem::BITS - shamt {
| ^^^^ multiple `BITS` found
|
note: candidate #1 is defined in the trait `BitMemory`
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/mem.rs:44:2
|
44 | const BITS: u8 = mem::size_of::<Self>() as u8 * 8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: candidate #2 is defined in the trait `IsNumber`
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/funty-1.2.0/src/lib.rs:144:2
|
144 | const BITS: u32;
| ^^^^^^^^^^^^^^^^
help: disambiguate the associated constant for candidate #1
|
809 | if BitMemory::BITS > T::Mem::BITS - shamt {
| ^^^^^^^^^^^^^^^
help: disambiguate the associated constant for candidate #2
|
809 | if IsNumber::BITS > T::Mem::BITS - shamt {
| ^^^^^^^^^^^^^^
error[E0308]: mismatched types
--> /home/gh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.20.1/src/field.rs:809:19
|
765 | fn load_le<M>(&self) -> M
| - this type parameter
...
809 | if M::BITS > T::Mem::BITS - shamt {
| ^^^^^^^^^^^^^^^^^^^^ expected type parameter `M`, found `u8`
|
= note: expected type parameter `M`
found type `u8`
...(The same error as above)
error: aborting due to 60 previous errors
Some errors have detailed explanations: E0034, E0308.
For more information about an error, try `rustc --explain E0034`.
error: could not compile `bitvec`
To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `subkey v2.0.0 (https://github.com/paritytech/substrate#f5d2faf1)`, intermediate artifacts can be found at `/tmp/cargo-installVIcyI0`
Caused by:
build failed
At the beginning of the download,the following warning appears
warning: profile package spec `cranelift-codegen` in profile `dev` did not match any packages
warning: profile package spec `cranelift-wasm` in profile `dev` did not match any packages
warning: profile package spec `libm` in profile `dev` did not match any packages
Did you mean `libc`?
warning: profile package spec `librocksdb-sys` in profile `dev` did not match any packages
warning: profile package spec `nalgebra` in profile `dev` did not match any packages
I tried again and again, but it didn't work

Is it possible to do cargo install with the repo cargo.lock with:
cargo install --locked --force subkey --git https://github.com/paritytech/substrate

Temporary issue from an upstream care. Just do:
cargo update -p funty --precise "1.1.0"

Related

Rust derive default on enum to remove need for impl block

~/Workspace/microscaler/docker-api-rs on fix/linting-issues cargo clippy --all-targets --all-features -- -D clippy::all -Z macro-backtrace ✔ at 20:14:11
Checking docker-api v0.12.2 (/Users/casibbald/Workspace/microscaler/docker-api-rs)
error: this `impl` can be derived
--> src/opts/container.rs:50:1
|
50 | / impl Default for Isolation {
51 | | fn default() -> Self {
52 | | Isolation::Default
53 | | }
54 | | }
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
= note: `-D clippy::derivable-impls` implied by `-D clippy::all`
= help: remove the manual implementation...
help: ...and instead derive it...
|
43 | #[derive(Default)]
|
help: ...and mark the default variant
|
45 ~ #[default]
46 ~ Default,
|
error: could not compile `docker-api` due to previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `docker-api` due to previous error
The following help page is referred to:
https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
However, adding #[derive(Default)] does not seem so straightforward when multiple items exist.
Source code here:
https://github.com/microscaler/docker-api-rs/blob/d85deec98a10dcc2f6a1ed7c324010e28d437941/src/opts/container.rs#L50
The following does not work:
Checking docker-api v0.12.2 (/Users/casibbald/Workspace/microscaler/docker-api-rs)
error: no default declared
--> src/opts/container.rs:41:10
|
41 | #[derive(Default, Clone, Debug, Serialize, Deserialize)]
| ^^^^^^^ in this derive macro expansion
|
::: /Users/casibbald/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/default.rs:186:1
|
186 | pub macro Default($item:item) {
| ----------------- in this expansion of `#[derive(Default)]`
|
= help: make a unit variant default by placing `#[default]` above it
Read the compiler/linter messages, they tell you exactly what to do:
= help: remove the manual implementation...
help: ...and instead derive it...
|
43 | #[derive(Default)]
|
help: ...and mark the default variant
|
45 ~ #[default]
46 ~ Default,
|
= help: make a unit variant default by placing `#[default]` above it
Like this:
#[derive(Default, Clone, Debug)]
pub enum Isolation {
#[default]
Default,
Process,
HyperV,
}

Rust compilation errors on installaton of libcst on alpine python

trying to install python modules on alpine linux using 3.7.9 image of alpine-python
Not able to find any solution on how to get the below issues resolved, any assistance would help a lot.
error[E0658]: or-patterns syntax is experimental
6908 --> libcst/src/tokenizer/core/mod.rs:944:25
6909 |
6910 944 | / '\n'
6911 945 | | | '\\'
6912 946 | | | '\''
6913 947 | | | '"'
6914 ... |
6915 958 | | | 'u'
6916 959 | | | 'U',
6917 | |_____________________________^
6918 |
6919 = note: see issue #54883 <https://github.com/rust-lang/rust/issues/54883> for more information
6920
6921 error[E0658]: or-patterns syntax is experimental
6922 --> libcst/src/tokenizer/core/mod.rs:976:33
6923 |
6924 976 | if let Some('"' | '\'') = self.text_pos.peek() {
6925 | ^^^^^^^^^^
6926 |
6927 = note: see issue #54883 <https://github.com/rust-lang/rust/issues/54883> for more information
6928
6929 error[E0658]: or-patterns syntax is experimental
6930 --> libcst/src/parser/grammar.rs:3203:14
6931 |
6932 3203 | e # (Expression::Integer(_) | Expression::Float(_)) => Ok(e),
6933 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6934 |
6935 = note: see issue #54883 <https://github.com/rust-lang/rust/issues/54883> for more information
6936
6937 error[E0658]: use of unstable library feature 'split_inclusive'
6938 --> libcst/src/tokenizer/whitespace_parser.rs:84:26
6939 |
6940 84 | lines: input.split_inclusive(default_newline).collect(),
6941 | ^^^^^^^^^^^^^^^
6942 |
6943 = note: see issue #72360 <https://github.com/rust-lang/rust/issues/72360> for more information
6944
6945 error: aborting due to 4 previous errors
6946
6947 For more information about this error, try `rustc --explain E0658`.
6948 error: could not compile `libcst`.
6949
6950 Caused by:
6953 error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path native/libcst/Cargo.toml --release -v --features pyo3/extension-module -- --crate-type cdylib` failed with code 101
6954 [end of output]
6955
6956 note: This error originates from a subprocess, and is likely not a problem with pip.
6957 ERROR: Failed building wheel for libcst
“use of unstable library feature” and “syntax is experimental” indicate you are using a version of the Rust compiler older than that required for this program.
or_patterns was stabilized in Rust 1.53. split_inclusive was stabilized in Rust 1.51 (look at the version number on the right side of the method entry).
You will need to install Rust 1.53 or newer. Right now, you are using a version that is more than a year old.

compiling and cpu architecture error for apple despite being on an ubuntu?

I'm trying to compile something from a github branch. I'm on an ubuntu.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
with the following configuration.
❯ rustup -V
rustup 1.24.3 (ce5817a94 2021-05-31)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.61.0-nightly (d53246fed 2022-03-25)`
❯ cargo -V
cargo 1.61.0-nightly (109bfbd 2022-03-17)
❯ rustup default
nightly-x86_64-unknown-linux-gnu (default)
however when trying to compile I get this error.
error: no rules expected the token `aarch64_apple`
--> /home/ahdee/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/src/cpu.rs:257:13
|
165 | macro_rules! features {
| --------------------- when calling this macro
...
257 | aarch64_apple: true,
| ^^^^^^^^^^^^^ no rules expected this token in macro call
error[E0425]: cannot find value `AES` in module `cpu::arm`
--> /home/ahdee/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/src/aead/aes.rs:381:65
|
381 | if cpu::intel::AES.available(cpu_features) || cpu::arm::AES.available(cpu_features) {
| ^^^ not found in `cpu::arm`
|
help: consider importing this constant
|
15 | use crate::cpu::intel::AES;
|
error[E0425]: cannot find value `PMULL` in module `cpu::arm`
--> /home/ahdee/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/src/aead/gcm.rs:315:26
|
315 | || cpu::arm::PMULL.available(cpu_features)
| ^^^^^ not found in `cpu::arm`
error[E0425]: cannot find value `ARMCAP_STATIC` in this scope
--> /home/ahdee/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/src/cpu.rs:235:41
|

Substrate - Pallet-Nicks Tutorial - error: unexpected token #10993

added dependencies & features in the Cargo.toml
then: $ cargo build --release
how can I fix this?
A lot of errors are occurring:
Compiling node-template-runtime v4.0.0-dev (/home/robert/substrate-node-template/runtime)
Compiling pallet-nicks v4.0.0-dev (https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c76)
error: failed to run custom build command for `node-template-runtime v4.0.0-dev (/home/robert/substrate-node-template/runtime)`
Caused by:
process didn't exit successfully: `/home/robert/substrate-node-template/target/release/build/node-template-runtime-6e84ec0a3716120c/build-script-build` (exit status: 1)
--- stdout
Information that should be included in a bug report.
Executing build command: "rustup" "run" "nightly" "cargo" "rustc" "--target=wasm32-unknown-unknown" "--manifest-path=/home/robert/substrate-node-template/target/release/wbuild/node-template-runtime/Cargo.toml" "--color=always" "--profile" "release"
Using rustc version: rustc 1.61.0-nightly (38a0b81b1 2022-03-06)
--- stderr
Compiling pallet-nicks v4.0.0-dev (https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c76)
Compiling node-template-runtime v4.0.0-dev (/home/robert/substrate-node-template/runtime)
error: unexpected token
--> /home/robert/substrate-node-template/runtime/src/lib.rs:326:2
|
326 | / {
327 | | /* --snip-- */
328 | | Balances: pallet_balances,
329 | |
330 | | /*** Add This Line ***/
331 | | Nicks: pallet_nicks,
332 | | }
| |_____^
error[E0433]: failed to resolve: use of undeclared type `Runtime`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:396:24
|
396 | OpaqueMetadata::new(Runtime::metadata().into())
| ^^^^^^^ use of undeclared type `Runtime`
error[E0433]: failed to resolve: use of undeclared type `Aura`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:439:49
|
439 | sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
| ^^^^ use of undeclared type `Aura`
error[E0433]: failed to resolve: use of undeclared type `Aura`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:443:4
|
443 | Aura::authorities().into_inner()
| ^^^^ use of undeclared type `Aura`
error[E0433]: failed to resolve: use of undeclared type `Grandpa`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:461:4
|
461 | Grandpa::grandpa_authorities()
| ^^^^^^^ use of undeclared type `Grandpa`
error[E0433]: failed to resolve: use of undeclared type `Grandpa`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:465:4
|
465 | Grandpa::current_set_id()
| ^^^^^^^ use of undeclared type `Grandpa`
error[E0433]: failed to resolve: use of undeclared type `System`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:491:4
|
491 | System::account_nonce(account)
| ^^^^^^ use of undeclared type `System`
error[E0433]: failed to resolve: use of undeclared type `TransactionPayment`
--> /home/robert/substrate-node-template/runtime/src/lib.rs:500:4
|
500 | TransactionPayment::query_info(uxt, len)
| ^^^^^^^^^^^^^^^^^^ use of undeclared type `TransactionPayment`
and so on
When you get this type of chained errors, it is likely that you have copied something wrong, accidentally deleting some important element, for example, a comma, a semicolon, etc.
Make sure you didn't delete anything important and try again.
If this is not the case, then check this line, I think it is the key:
error: unexpected token --> /home/robert/substrate-node-template/runtime/src/lib.rs:326:2
| 326 | / { 327 | | /* --snip-- / 328 | | Balances: pallet_balances, 329
|
| 330 | | /** Add This Line ***/ 331 | | Nicks: pallet_nicks, 332 | | }
| |_____^

What to do about "match is not allowed in a const fn" error?

When running the command:
cargo install cargo-generate --features vendored-openssl
I am getting the following error:
error[E0658]: `match` is not allowed in a `const fn`
--> /home/pam/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.0/src/lib.rs:156:9
|
156 | / match address {
157 | | SocketAddr::V4(_) => Domain::IPV4,
158 | | SocketAddr::V6(_) => Domain::IPV6,
159 | | }
| |_________^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/49146
error[E0599]: no associated item named `MAX` found for type `usize` in the current scope
--> /home/pam/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.0/src/sys/unix.rs:680:46
|
680 | msg.msg_iovlen = min(bufs.len(), IovLen::MAX as usize) as IovLen;
| ^^^ associated item not found in `usize`
error[E0599]: no associated item named `MAX` found for type `usize` in the current scope
--> /home/pam/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.0/src/sys/unix.rs:740:46
|
740 | msg.msg_iovlen = min(bufs.len(), IovLen::MAX as usize) as IovLen;
| ^^^ associated item not found in `usize`
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0599, E0658.
For more information about an error, try `rustc --explain E0599`.
error: could not compile `socket2`.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `cargo-generate v0.6.1`, intermediate artifacts can be found at `/tmp/cargo-install7B7MDG`
Caused by:
build failed
Using Rust version 1.41.0 on Ubuntu 20.04.2 LTS. What am I missing here?
Updating Rust worked for me:
curl https://sh.rustup.rs -sSf | sh
New version 1.52.0

Resources