Hi there, I'm trying to build and run mRPC. I followed the instructions on the README page. When I execute cargo make command, an error is thrown. I'm not familiar with Rust toolchains. It looks like ipc-channel used by Phoenix calls libc::fstat, which cannot be found. How can I fix this error?
linking: ~/phoenix/target/phoenix/host_dep/libio_lifetimes-d1f372ee24433085.rlib
TODO: Run initializers
[2024-01-24 02:26:08.329680 DEBUG src/phoenixos/src/linker/mod.rs:282] loading object: /tmp/phoenix/linker/libiovec-9caebd446bf44c10/libiovec-9caebd446bf44c10.o
linking: ~/phoenix/target/phoenix/host_dep/libiovec-9caebd446bf44c10.rlib
TODO: Run initializers
[2024-01-24 02:26:08.329748 DEBUG src/phoenixos/src/linker/mod.rs:282] loading object: /tmp/phoenix/linker/libipc-6e2f911ecfeddd56/libipc-6e2f911ecfeddd56.o
linking: ~/phoenix/target/phoenix/host_dep/libipc-6e2f911ecfeddd56.rlib
TODO: Run initializers
[2024-01-24 02:26:08.330432 DEBUG src/phoenixos/src/linker/mod.rs:282] loading object: /tmp/phoenix/linker/libipc_channel-b6481a37e7c64b2b/libipc_channel-b6481a37e7c64b2b.o
linking: ~/phoenix/target/phoenix/host_dep/libipc_channel-b6481a37e7c64b2b.rlib
thread 'main' panicked at 'missing symbol fstat', src/phoenixos/src/linker/relocation.rs:53:52
stack backtrace:
0: 0x55ea4fcc40c0 - std::backtrace_rs::backtrace::libunwind::trace::h48a6b877947e3b61
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
1: 0x55ea4fcc40c0 - std::backtrace_rs::backtrace::trace_unsynchronized::hfe09011594941abe
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x55ea4fcc40c0 - std::sys_common::backtrace::_print_fmt::h9ce2ad36264dcd3e
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:66:5
3: 0x55ea4fcc40c0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4f730349406daa4f
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:45:22
4: 0x55ea4fd1dace - core::fmt::write::h4545826f01b877ac
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/core/src/fmt/mod.rs:1209:17
5: 0x55ea4fcb54d5 - std::io::Write::write_fmt::hac4d3a613c78c8e4
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/io/mod.rs:1679:15
6: 0x55ea4fcc6e63 - std::sys_common::backtrace::_print::ha560f7b733dc8a6e
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:48:5
7: 0x55ea4fcc6e63 - std::sys_common::backtrace::print::hcca78599db59c8b4
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:35:9
8: 0x55ea4fcc6e63 - std::panicking::default_hook::{{closure}}::h0d6a74e6cb8499ce
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:267:22
9: 0x55ea4fcc6b3a - std::panicking::default_hook::hcb5d3609ae810fb1
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:286:9
10: 0x55ea4fcc7599 - std::panicking::rust_panic_with_hook::h4f2461a1c1c1a86e
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:669:13
11: 0x55ea4fcc7497 - std::panicking::begin_panic_handler::{{closure}}::hcad64e5dfff8b9ed
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:560:13
12: 0x55ea4fcc456c - std::sys_common::backtrace::__rust_end_short_backtrace::h2a66b4ccd8d28c5b
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:138:18
13: 0x55ea4fcc71b2 - rust_begin_unwind
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:556:5
14: 0x55ea4f6c6ad3 - core::panicking::panic_fmt::h443d402932f5c508
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/core/src/panicking.rs:142:14
15: 0x55ea4f70c7e5 - phoenixos::linker::relocation::do_relocation::h1bf880a35a69b1fe
16: 0x55ea4f88242f - phoenixos::linker::module::LoadableModule::link::h353cd0a11f9dcf17
at ~/phoenix/src/phoenixos/src/linker/module.rs:199:9
17: 0x55ea4f7df231 - phoenixos::linker::Linker::load_objects::he9c68c711d88e5ba
at ~/phoenix/src/phoenixos/src/linker/mod.rs:283:30
18: 0x55ea4f7df985 - phoenixos::linker::Linker::load_archive_inner::h02135cbeaefaff19
at ~/phoenix/src/phoenixos/src/linker/mod.rs:342:9
19: 0x55ea4f7df70b - phoenixos::linker::Linker::load_archive::hc6471b4403175be3
at ~/phoenix/src/phoenixos/src/linker/mod.rs:298:9
20: 0x55ea4f86c800 - phoenixos::plugin_mgr::PluginManager::load_or_upgrade_modules::h9acb0ee99f402a56
at ~/phoenix/src/phoenixos/src/plugin_mgr.rs:178:17
21: 0x55ea4f81f0fa - phoenixos::control::Control::new::hc9547e3c72d0ea21
at ~/phoenix/src/phoenixos/src/control.rs:311:9
22: 0x55ea4f8285df - phoenixos::main::hb375defb693a75a7
at ~/phoenix/src/phoenixos/src/main.rs:73:23
23: 0x55ea4f71f113 - core::ops::function::FnOnce::call_once::hda354e7bd50d2fc2
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/core/src/ops/function.rs:251:5
24: 0x55ea4f71f113 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha35fb78189d58408
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/sys_common/backtrace.rs:122:18
25: 0x55ea4f876607 - std::rt::lang_start::{{closure}}::h595b351dfc899112
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/rt.rs:166:18
26: 0x55ea4fca68df - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hf4213b554e8bd1a4
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/core/src/ops/function.rs:286:13
27: 0x55ea4fca68df - std::panicking::try::do_call::hc3fbf4159b659139
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:464:40
28: 0x55ea4fca68df - std::panicking::try::h257df37bf4b12652
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:428:19
29: 0x55ea4fca68df - std::panic::catch_unwind::h32410c5e0bc1d9b7
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panic.rs:137:14
30: 0x55ea4fca68df - std::rt::lang_start_internal::{{closure}}::he219927783e71113
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/rt.rs:148:48
31: 0x55ea4fca68df - std::panicking::try::do_call::hb16738ddaef29072
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:464:40
32: 0x55ea4fca68df - std::panicking::try::hea0e210dc740f24b
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panicking.rs:428:19
33: 0x55ea4fca68df - std::panic::catch_unwind::hf267664358c36fa0
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/panic.rs:137:14
34: 0x55ea4fca68df - std::rt::lang_start_internal::h778c8391ec5ee32b
at /rustc/8ce3204af9463db3192ea1eb31c45c2f6d4b5ae6/library/std/src/rt.rs:148:20
35: 0x55ea4f82a06e - main
36: 0x2b4c94862555 - __libc_start_main
at /usr/src/debug/glibc-2.17-c758a686/csu/../csu/libc-start.c:266
37: 0x55ea4f6c6ef0 - <unknown>
38: 0x0 - <unknown>
Hi there, I'm trying to build and run mRPC. I followed the instructions on the README page. When I execute
cargo make
command, an error is thrown. I'm not familiar with Rust toolchains. It looks likeipc-channel
used by Phoenix callslibc::fstat
, which cannot be found. How can I fix this error?