From: Conor Dooley <conor@kernel.org>
To: ojeda@kernel.org
Cc: gregkh@linuxfoundation.org, jarkko@kernel.org,
kunit-dev@googlegroups.com, linux-arm-kernel@lists.infradead.org,
linux-doc@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org,
linux-perf-users@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-um@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org, live-patching@vger.kernel.org,
rust-for-linux@vger.kernel.org, torvalds@linux-foundation.org
Subject: Re: [PATCH v7 00/25] Rust support
Date: Sat, 16 Jul 2022 13:42:14 +0100 [thread overview]
Message-ID: <20220716124214.329949-1-conor@kernel.org> (raw)
In-Reply-To: <20220523020209.11810-1-ojeda@kernel.org>
Hey,
Maybe I am just missing something blatantly obvious here, but trying
to build rust support in -next fails for me. I am using ClangBuiltLinux
clang version 15.0.0 5b0788fef86ed7008a11f6ee19b9d86d42b6fcfa and LLD
15.0.0. Is it just expected that building -next with rust support is
not a good idea?
My defconfig is the default RISC-V one plus:
CONFIG_RUST=y
CONFIG_SAMPLES=y
CONFIG_SAMPLES_RUST=y
CONFIG_SAMPLE_RUST_MINIMAL=y
Thanks,
Conor.
Fail log:
UPD rust/target.json
BINDGEN rust/bindings_generated.rs
BINDGEN rust/bindings_helpers_generated.rs
RUSTC L rust/core.o
EXPORTS rust/exports_core_generated.h
RUSTC P rust/libmacros.so
RUSTC L rust/compiler_builtins.o
RUSTC L rust/alloc.o
RUSTC L rust/build_error.o
EXPORTS rust/exports_alloc_generated.h
RUSTC L rust/kernel.o
error[E0428]: the name `maple_enode` is defined multiple times
--> linux/rust/bindings_generated.rs:18009:1
|
18006 | pub struct maple_enode {
| ---------------------- previous definition of the type `maple_enode` here
...
18009 | pub type maple_enode = *mut maple_enode;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `maple_enode` redefined here
|
= note: `maple_enode` must be defined only once in the type namespace of this module
error[E0428]: the name `maple_pnode` is defined multiple times
--> linux/rust/bindings_generated.rs:18015:1
|
18012 | pub struct maple_pnode {
| ---------------------- previous definition of the type `maple_pnode` here
...
18015 | pub type maple_pnode = *mut maple_pnode;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `maple_pnode` redefined here
|
= note: `maple_pnode` must be defined only once in the type namespace of this module
error[E0391]: cycle detected when expanding type alias `bindings::bindings_raw::maple_pnode`
--> linux/rust/bindings_generated.rs:18015:29
|
18015 | pub type maple_pnode = *mut maple_pnode;
| ^^^^^^^^^^^
|
= note: ...which immediately requires expanding type alias `bindings::bindings_raw::maple_pnode` again
= note: type aliases cannot be recursive
= help: consider using a struct, enum, or union instead to break the cycle
= help: see <https://doc.rust-lang.org/reference/types.html#recursive-types> for more information
note: cycle used when computing type of `bindings::bindings_raw::maple_range_64::parent`
--> linux/rust/bindings_generated.rs:18058:22
|
18058 | pub parent: *mut maple_pnode,
| ^^^^^^^^^^^
error[E0391]: cycle detected when expanding type alias `bindings::bindings_raw::maple_enode`
--> linux/rust/bindings_generated.rs:18009:29
|
18009 | pub type maple_enode = *mut maple_enode;
| ^^^^^^^^^^^
|
= note: ...which immediately requires expanding type alias `bindings::bindings_raw::maple_enode` again
= note: type aliases cannot be recursive
= help: consider using a struct, enum, or union instead to break the cycle
= help: see <https://doc.rust-lang.org/reference/types.html#recursive-types> for more information
note: cycle used when computing type of `bindings::bindings_raw::maple_topiary::next`
--> linux/rust/bindings_generated.rs:18340:20
|
18340 | pub next: *mut maple_enode,
| ^^^^^^^^^^^
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> linux/rust/bindings_generated.rs:18005:10
|
18005 | #[derive(Copy, Clone)]
| ^^^^
| |
| impl doesn't use only types from inside the current crate
| `*mut [type error]` is not defined in the current crate
|
= note: define and implement a trait or new type instead
= note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> linux/rust/bindings_generated.rs:18011:10
|
18011 | #[derive(Copy, Clone)]
| ^^^^
| |
| impl doesn't use only types from inside the current crate
| `*mut [type error]` is not defined in the current crate
|
= note: define and implement a trait or new type instead
= note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> linux/rust/bindings_generated.rs:18005:16
|
18005 | #[derive(Copy, Clone)]
| ^^^^^
| |
| impl doesn't use only types from inside the current crate
| `*mut [type error]` is not defined in the current crate
|
= note: define and implement a trait or new type instead
= note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> linux/rust/bindings_generated.rs:18011:16
|
18011 | #[derive(Copy, Clone)]
| ^^^^^
| |
| impl doesn't use only types from inside the current crate
| `*mut [type error]` is not defined in the current crate
|
= note: define and implement a trait or new type instead
= note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 8 previous errors
next prev parent reply other threads:[~2022-07-16 12:42 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-23 2:01 [PATCH v7 00/25] Rust support Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 01/25] kallsyms: avoid hardcoding the buffer size Miguel Ojeda
2022-05-23 19:45 ` Jarkko Sakkinen
2022-05-23 19:55 ` Jarkko Sakkinen
2022-05-24 16:21 ` Miguel Ojeda
2022-05-26 4:54 ` Jarkko Sakkinen
2022-05-23 2:01 ` [PATCH v7 02/25] kallsyms: support "big" kernel symbols Miguel Ojeda
2022-05-23 20:30 ` Jarkko Sakkinen
2022-05-23 2:01 ` [PATCH v7 03/25] kallsyms: increase maximum kernel symbol length to 512 Miguel Ojeda
2022-05-23 20:31 ` Jarkko Sakkinen
2022-05-24 18:07 ` Miguel Ojeda
2022-05-27 16:25 ` Jarkko Sakkinen
2022-05-30 13:01 ` Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 04/25] kunit: take `kunit_assert` as `const` Miguel Ojeda
2022-05-23 17:15 ` Daniel Latypov
2022-05-23 18:14 ` Shuah Khan
2022-05-24 12:37 ` Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 05/25] rust: add C helpers Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 06/25] rust: add `compiler_builtins` crate Miguel Ojeda
2022-05-23 18:37 ` Nick Desaulniers
2022-05-23 23:41 ` Gary Guo
2022-05-25 21:29 ` Nick Desaulniers
2022-05-24 12:29 ` Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 08/25] rust: adapt `alloc` crate to the kernel Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 09/25] rust: add `build_error` crate Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 10/25] rust: add `macros` crate Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 13/25] rust: export generated symbols Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 14/25] vsprintf: add new `%pA` format specifier Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 15/25] scripts: checkpatch: diagnose uses of `%pA` in the C side Miguel Ojeda
2022-05-23 2:17 ` Joe Perches
2022-05-24 16:35 ` Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 16/25] scripts: checkpatch: enable language-independent checks for Rust Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 17/25] scripts: add `rustdoc_test_{builder,gen}.py` scripts Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 18/25] scripts: add `generate_rust_analyzer.py` scripts Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 19/25] scripts: decode_stacktrace: demangle Rust symbols Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 20/25] docs: add Rust documentation Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 21/25] Kbuild: add Rust support Miguel Ojeda
2022-05-23 18:44 ` Nick Desaulniers
2022-05-24 15:12 ` Miguel Ojeda
2022-05-25 22:25 ` Nick Desaulniers
2022-05-30 13:39 ` Miguel Ojeda
2022-07-16 8:21 ` Masahiro Yamada
2022-07-16 8:57 ` Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 22/25] samples: add Rust examples Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 23/25] MAINTAINERS: Rust Miguel Ojeda
2022-05-23 2:01 ` [PATCH v7 24/25] [RFC] drivers: gpio: PrimeCell PL061 in Rust Miguel Ojeda
2022-07-16 12:42 ` Conor Dooley [this message]
2022-07-16 13:36 ` [PATCH v7 00/25] Rust support Miguel Ojeda
2022-07-16 13:51 ` Conor.Dooley
2022-07-16 13:56 ` Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220716124214.329949-1-conor@kernel.org \
--to=conor@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jarkko@kernel.org \
--cc=kunit-dev@googlegroups.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-um@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=live-patching@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).