Skip to content

Build tlibc fail: no method named lock found for struct Arc<dyn ImmutableWrite> #1112

@Marsman1996

Description

@Marsman1996

I'm trying to build tlibc in the docker container, but fail with the error message:

   ...
   Compiling panic_entry v0.1.0 (/Theseus/kernel/panic_entry)
warning: the feature `const_btree_new` has been partially stabilized since 1.66.0 and is succeeded by the feature `const_btree_len`
 --> src/lib.rs:9:12
  |
9 | #![feature(const_btree_new)]
  |            ^^^^^^^^^^^^^^^
  |
  = note: `#[warn(stable_features)]` on by default
help: if you are using features which are still unstable, change to using `const_btree_len`
  |
9 | #![feature(const_btree_len)]
  |            ~~~~~~~~~~~~~~~
help: if you are using features which are now stable, remove this line
  |
9 - #![feature(const_btree_new)]
  |

error[E0599]: no method named `lock` found for struct `Arc<dyn ImmutableWrite>` in the current scope
  --> src/stdio/mod.rs:24:29
   |
24 |     let mut writer = stdout.lock();
   |                             ^^^^ method not found in `Arc<dyn ImmutableWrite>`

For more information about this error, try `rustc --explain E0599`.
warning: `tlibc` (lib) generated 1 warning
error: could not compile `tlibc` (lib) due to previous error; 1 warning emitted

Caused by:
  process didn't exit successfully: `CARGO=/root/.rustup/toolchains/nightly-2023-10-27-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=tlibc CARGO_MANIFEST_DIR=/Theseus/tlibc CARGO_PKG_AUTHORS='Kevin Boos <[email protected]>' CARGO_PKG_DESCRIPTION='A libc implementation for Theseus.' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=tlibc CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/Theseus/tlibc/target/release/deps:/root/.rustup/toolchains/nightly-2023-10-27-x86_64-unknown-linux-gnu/lib:/root/.rustup/toolchains/nightly-2023-10-27-x86_64-unknown-linux-gnu/lib' OUT_DIR=/Theseus/tlibc/target/x86_64-unknown-theseus/release/build/tlibc-7781c1df6a61d268/out /root/.rustup/toolchains/nightly-2023-10-27-x86_64-unknown-linux-gnu/bin/rustc --crate-name tlibc src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --crate-type staticlib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C metadata=81224d42c72fc3ad -C extra-filename=-81224d42c72fc3ad --out-dir /Theseus/tlibc/target/x86_64-unknown-theseus/release/deps --target x86_64-unknown-theseus -L dependency=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps -L dependency=/Theseus/tlibc/target/release/deps --extern app_io=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libapp_io-535cd853a76f43e2.rlib --extern cbitset=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libcbitset-835faa47675d22f4.rlib --extern core2=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libcore2-46a0a021bb1f6033.rlib --extern cstr_core=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libcstr_core-f4fb5ef0ee9d711d.rlib --extern heap=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libheap-2ea8510313720bb0.rlib --extern libc=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/liblibc-944ef7838a8c7c5c.rlib --extern log=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/liblog-65849152392b179b.rlib --extern memchr=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libmemchr-ae681e15c1d4a64c.rlib --extern memory=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libmemory-bc200bb86b079cce.rlib --extern panic_entry=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libpanic_entry-db478ca71537c3f3.rlib --extern spin=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libspin-944b4652e1e7a3e7.rlib --extern task=/Theseus/tlibc/target/x86_64-unknown-theseus/release/deps/libtask-93c48946a80196bf.rlib --emit=obj -C debuginfo=2 -D unused-must-use -Z share-generics=no --sysroot /Theseus/build/deps/./sysroot -L native=/Theseus/tlibc/target/x86_64-unknown-theseus/release/build/tlibc-7781c1df6a61d268/out -l static=tlibc_c` (exit status: 1)
Error: "cargo command completed with failed exit code 101"
make: *** [Makefile:445: tlibc] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions