Bevy on nintendo 3ds
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
I can run Rust on nintendo 3ds now. so i added Bevy 0.15.3. i made a simple hello world program. however compilation fails much earlier:
```shell
homebrewmellow@LAPTOP-J2VPU0J6:~/n3dsgame$ cargo 3ds run -a 192.168.1.102 --release
Warning: unable to check if `ctru` debuginfo should be linked: `ctru-sys` not found
Compiling compiler_builtins v0.1.151
Compiling core v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling libc v0.2.171
Compiling object v0.36.7
Compiling std v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std)
Compiling proc-macro2 v1.0.94
Compiling unicode-ident v1.0.18
Compiling serde v1.0.219
Compiling autocfg v1.4.0
Compiling crossbeam-utils v0.8.21
Compiling equivalent v1.0.2
Compiling hashbrown v0.15.2
Compiling quote v1.0.40
Compiling version_check v0.9.5
Compiling syn v2.0.100
Compiling winnow v0.7.4
Compiling indexmap v2.8.0
Compiling toml_datetime v0.6.8
Compiling zerocopy v0.8.24
Compiling toml_edit v0.22.24
Compiling crunchy v0.2.3
Compiling cfg-if v1.0.0
Compiling getrandom v0.2.15
Compiling bevy_macro_utils v0.15.3
Compiling tiny-keccak v2.0.2
Compiling once_cell v1.21.1
Compiling serde_derive v1.0.219
Compiling bytemuck_derive v1.9.2
Compiling tracing-attributes v0.1.28
Compiling const-random-macro v0.1.16
Compiling ahash v0.8.11
Compiling slab v0.4.9
Compiling cfg_aliases v0.2.1
Compiling typeid v1.0.3
Compiling unicode-xid v0.2.6
Compiling derive_more-impl v1.0.0
Compiling bevy_utils_proc_macros v0.15.3
Compiling uuid v1.12.1
Compiling bevy_reflect_derive v0.15.3
Compiling assert_type_match v0.1.1
Compiling libm v0.2.11
Compiling nix v0.29.0
Compiling bevy_ecs_macros v0.15.3
Compiling num-traits v0.2.19
Compiling bevy_derive v0.15.3
Compiling thiserror v1.0.69
Compiling thiserror-impl v1.0.69
Compiling rustc-std-workspace-core v1.99.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling cfg_aliases v0.1.1
Compiling lock_api v0.4.12
Compiling parking_lot_core v0.9.10
Compiling naga v23.1.0
Compiling shlex v1.3.0
Compiling khronos-egl v6.0.0
Compiling cc v1.2.17
Compiling ash v0.38.0+1.3.281
Compiling alloc v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc)
Compiling unwind v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind)
Compiling memchr v2.7.4
Compiling adler2 v2.0.0
Compiling rustc-demangle v0.1.24
Compiling blake3 v1.7.0
Compiling wgpu-hal v23.0.1
Compiling encase_derive_impl v0.10.0
Compiling rustc-std-workspace-alloc v1.99.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
Compiling gimli v0.31.1
Compiling miniz_oxide v0.8.3
Compiling std_detect v0.1.5 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch/crates/std_detect)
Compiling panic_abort v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort)
Compiling panic_unwind v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind)
Compiling wgpu-core v23.0.1
Compiling litrs v0.4.1
Compiling encase_derive v0.10.0
Compiling wgpu v23.0.1
Compiling document-features v0.2.11
Compiling bevy_asset_macros v0.15.3
Compiling bevy_encase_derive v0.15.3
Compiling bevy_render_macros v0.15.3
Compiling rustix v0.38.44
Compiling addr2line v0.24.2
Compiling slotmap v1.0.7
Compiling pkg-config v0.3.32
Compiling rayon-core v1.12.1
Compiling serde_json v1.0.140
Compiling winit v0.30.9
Compiling cpal v0.15.3
Compiling x11-dl v2.21.0
Compiling inflections v1.1.1
Compiling gilrs v0.11.0
Compiling bevy_state_macros v0.15.3
Compiling gltf-derive v1.4.1
Compiling bevy_gizmos_macros v0.15.3
Compiling rustc-std-workspace-std v1.99.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-std)
Compiling proc_macro v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro)
Compiling unicode-width v0.1.14
Compiling getopts v0.2.21
Compiling test v0.0.0 (/home/homebrewmellow/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test)
Compiling pin-project-lite v0.2.16
Compiling bytemuck v1.22.0
Compiling tracing-core v0.1.33
Compiling foldhash v0.1.5
Compiling smallvec v1.14.0
Compiling tracing v0.1.41
Compiling bitflags v2.9.0
Compiling rand_core v0.6.4
Compiling parking v2.2.1
Compiling concurrent-queue v2.5.0
Compiling arrayvec v0.7.6
Compiling futures-core v0.3.31
Compiling event-listener v5.4.0
Compiling futures-io v0.3.31
Compiling ppv-lite86 v0.2.21
Compiling zerocopy v0.7.35
Compiling fastrand v2.3.0
Compiling rand_chacha v0.3.1
Compiling const-random v0.1.18
Compiling event-listener-strategy v0.5.3
Compiling rand v0.8.5
Compiling smol_str v0.2.2
Compiling thread_local v1.1.8
Compiling glam v0.29.2
Compiling allocator-api2 v0.2.21
Compiling futures-lite v2.6.0
Compiling fixedbitset v0.4.2
Compiling hashbrown v0.14.5
Compiling async-task v4.7.1
Compiling erased-serde v0.4.6
Compiling petgraph v0.6.5
Compiling bevy_utils v0.15.3
Compiling async-channel v2.3.1
Compiling downcast-rs v1.2.1
Compiling derive_more v1.0.0
Compiling bevy_ptr v0.15.3
Compiling disqualified v1.0.0
Compiling log v0.4.26
Compiling async-executor v1.13.1
Compiling nonmax v0.5.5
Compiling bevy_tasks v0.15.3
error[E0432]: unresolved import `self::consts`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/errno.rs:19:15
|
19 | pub use self::consts::*;
| ^^^^^^ could not find `consts` in `self`
error[E0432]: unresolved import `libc::sigevent`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:1183:20
|
1183 | pub(crate) use libc::sigevent as libc_sigevent;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `sigevent` in the root
|
help: consider importing this module instead
|
1183 - pub(crate) use libc::sigevent as libc_sigevent;
1183 + pub(crate) use crate::sys::signal::sigevent as libc_sigevent;
|
error[E0432]: unresolved import `self::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/errno.rs:198:15
|
198 | use self::Errno::*;
| ^^^^^ could not find `Errno` in `self`
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/fcntl.rs:2:5
|
2 | use crate::errno::Errno;
| ^^^^^^^^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:6:5
|
6 | use crate::errno::Errno;
| ^^^^^^^^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:3:5
|
3 | use crate::errno::Errno;
| ^^^^^^^^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
error[E0432]: unresolved import `errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/lib.rs:194:5
|
194 | use errno::Errno;
| ^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/stat.rs:11:13
|
11 | use crate::{errno::Errno, NixPath, Result};
| ^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
|
= help: consider importing this unresolved item through its public re-export instead:
crate::Errno
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/statvfs.rs:10:13
|
10 | use crate::{errno::Errno, NixPath, Result};
| ^^^^^^^-----
| | |
| | help: a similar name exists in the module: `errno`
| no `Errno` in `errno`
|
= help: consider importing this unresolved item through its public re-export instead:
crate::Errno
error[E0432]: unresolved import `crate::errno::Errno`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/wait.rs:2:5
|
2 | use crate::errno::Errno;
| ^^^^^^^^^^^^^^^^^^^ no `Errno` in `errno`
|
help: a similar name exists in the module
|
2 - use crate::errno::Errno;
2 + use crate::errno::errno;
|
help: consider importing this unresolved item through its public re-export instead
|
2 - use crate::errno::Errno;
2 + use crate::Errno;
|
error[E0081]: discriminant value `8` assigned more than once
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/macros.rs:131:9
|
131 | / $v enum $BitFlags {
132 | | $($entries)*
133 | | }
| |_________^
...
255 | $entry = libc::$entry,
| ------------
| |
| `8` assigned here
| `8` assigned here
|
::: /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:28:1
|
28 | / libc_enum! {
29 | | /// Types of operating system signals
... |
121 | | impl TryFrom
122 | | }
| |_- in this macro invocation
|
= note: this error originates in the macro `libc_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
Compiling fixedbitset v0.5.7
error[E0080]: it is undefined behavior to use this value
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:368:1
|
368 | const SIGNALS: [Signal; 31] = [
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [30].: encountered 0x00000000, but expected a valid enum tag
|
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
= note: the raw bytes of the constant (size: 124, align: 4) {
0x00 │ 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 │ ................
0x10 │ 05 00 00 00 06 00 00 00 0a 00 00 00 08 00 00 00 │ ................
0x20 │ 09 00 00 00 1e 00 00 00 0b 00 00 00 1f 00 00 00 │ ................
0x30 │ 0d 00 00 00 0e 00 00 00 0f 00 00 00 14 00 00 00 │ ................
0x40 │ 13 00 00 00 11 00 00 00 12 00 00 00 15 00 00 00 │ ................
0x50 │ 16 00 00 00 10 00 00 00 18 00 00 00 19 00 00 00 │ ................
0x60 │ 1a 00 00 00 1b 00 00 00 1c 00 00 00 17 00 00 00 │ ................
0x70 │ 0c 00 00 00 07 00 00 00 00 00 00 00 │ ............
}
error[E0609]: no field `sa_sigaction` on type `sigaction`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:778:23
|
778 | (*p).sa_sigaction = match handler {
| ^^^^^^^^^^^^ unknown field
|
= note: available fields are: `sa_handler`, `sa_mask`, `sa_flags`
error[E0609]: no field `sa_sigaction` on type `sigaction`
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:829:30
|
829 | match self.sigaction.sa_sigaction {
| ^^^^^^^^^^^^ unknown field
|
= note: available fields are: `sa_handler`, `sa_mask`, `sa_flags`
note: erroneous constant encountered
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:388:24
|
388 | if self.next < SIGNALS.len() {
| ^^^^^^^
note: erroneous constant encountered
--> /home/homebrewmellow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/sys/signal.rs:389:31
|
389 | let next_signal = SIGNALS[self.next];
| ^^^^^^^
Some errors have detailed explanations: E0080, E0081, E0432, E0609.
For more information about an error, try `rustc --explain E0080`.
error: could not compile `nix` (lib) due to 14 previous errors
warning: build failed, waiting for other jobs to finish...
```
@bushrat011899
Contributor guide
Research direction
Start by reviewing the reported `cargo 3ds run -a 192.168.1.102 --release` command and its compiler errors, especially the failures in `nix` while building Bevy 0.15.3 for Nintendo 3DS. The issue does not identify a desired change or a project file or test to investigate, so first determine whether this build failure is actionable and what successful support would mean.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100