build-trust / ockam

Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
https://ockam.io
Apache License 2.0
4.42k stars 558 forks source link

cargo run fail with #5594

Closed hfiguiere closed 1 year ago

hfiguiere commented 1 year ago

Observed behavior

When I run cargo run for the default binary, I get the follow panic:

$ RUST_BACKTRACE=1 cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.21s
     Running `target/debug/ockam_app`
[2023-08-11][20:04:02][ockam_app_lib::invitations::commands][INFO] refreshing invitations
[2023-08-11][20:04:02][ockam_app_lib::projects::commands][INFO] refreshing projects
[2023-08-11][20:04:02][ockam_app_lib::projects::commands][INFO] refreshing projects
[2023-08-11][20:04:02][ockam_app_lib::invitations::commands][INFO] refreshing invitations
thread 'main' panicked at 'Failed to load ayatana-appindicator3 or appindicator3 dynamic library
libayatana-appindicator3.so.1: cannot open shared object file: No such file or directory
libappindicator3.so.1: cannot open shared object file: No such file or directory
libayatana-appindicator3.so: cannot open shared object file: No such file or directory
libappindicator3.so: cannot open shared object file: No such file or directory', /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libappindicator-sys-0.8.0/src/lib.rs:41:5
stack backtrace:
   0: rust_begin_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:67:14
   2: libappindicator_sys::LIB::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libappindicator-sys-0.8.0/src/lib.rs:41:5
   3: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
   4: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
   5: once_cell::sync::Lazy<T,F>::force::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1312:28
   6: once_cell::sync::OnceCell<T>::get_or_init::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1122:57
   7: once_cell::imp::OnceCell<T>::initialize::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/imp_std.rs:72:23
   8: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:294:13
   9: once_cell::imp::initialize_or_wait
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/imp_std.rs:196:20
  10: once_cell::imp::OnceCell<T>::initialize
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/imp_std.rs:68:9
  11: once_cell::sync::OnceCell<T>::get_or_try_init
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1163:13
  12: once_cell::sync::OnceCell<T>::get_or_init
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1122:19
  13: once_cell::sync::Lazy<T,F>::force
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1311:13
  14: <once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.18.0/src/lib.rs:1378:13
  15: libappindicator_sys::app_indicator_new
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libappindicator-sys-0.8.0/src/lib.rs:918:11
  16: libappindicator::AppIndicator::new
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libappindicator-0.8.0/src/lib.rs:29:9
  17: tao::platform_impl::platform::system_tray::SystemTrayBuilder::build
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/platform_impl/linux/system_tray.rs:43:29
  18: tao::system_tray::SystemTrayBuilder::build
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/system_tray.rs:87:5
  19: tauri_runtime_wry::system_tray::create_tray
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/system_tray.rs:121:14
  20: tauri_runtime_wry::handle_user_message
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:2564:15
  21: tauri_runtime_wry::send_user_message
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:164:5
  22: <tauri_runtime_wry::WryHandle<T> as tauri_runtime::RuntimeHandle<T>>::system_tray
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:1884:5
  23: tauri::app::tray::SystemTray::build
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-alpha.10/src/app/tray.rs:449:46
  24: ockam_app_lib::app::setup_app
             at ./implementations/rust/ockam/ockam_app/src/app/mod.rs:26:5
  25: ockam_app_lib::run::{{closure}}
             at ./implementations/rust/ockam/ockam_app/src/lib.rs:24:27
  26: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
  27: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/alloc/src/boxed.rs:1985:9
  28: tauri::app::setup
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-alpha.10/src/app.rs:1435:5
  29: tauri::app::App<R>::run::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-alpha.10/src/app.rs:689:25
  30: tauri_runtime_wry::handle_event_loop
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:2669:7
  31: <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:2197:7
  32: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/platform_impl/linux/event_loop.rs:1043:24
  33: glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.16.9/src/main_context.rs:156:12
  34: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/platform_impl/linux/event_loop.rs:967:5
  35: tao::platform_impl::platform::event_loop::EventLoop<T>::run
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/platform_impl/linux/event_loop.rs:921:21
  36: tao::event_loop::EventLoop<T>::run
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.19.1/src/event_loop.rs:181:5
  37: <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.13.0-alpha.6/src/lib.rs:2177:5
  38: tauri::app::App<R>::run
             at /home/hub/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-alpha.10/src/app.rs:687:5
  39: ockam_app_lib::run
             at ./implementations/rust/ockam/ockam_app/src/lib.rs:40:5
  40: ockam_app::main
             at ./implementations/rust/ockam/ockam_app/src/main.rs:6:5
  41: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Steps to reproduce

  1. git clone the repository
  2. cargo build. make sure it ends
  3. cargo run

System is a Fedora Workstation 38 with GNOME.

Expected behavior

Doesn't panic.

Installing with sudo dnf install libappindicator-gtk3 and running again leads to no crash.

Ideally the build would fail because the libraries are missing. The problem is likely in tao which is an indirect dependency brought in by tauri.

Ockam Version

git 5e8298f1c2c6b33850c2a5547c89edfdaa212b17

etorreborre commented 1 year ago

Hi @hfiguiere thanks for reporting this issue. Could you please check that this PR fixes it for you? (I have a Mac)