pop-os / launcher

Modular IPC-based desktop launcher service
Mozilla Public License 2.0
219 stars 42 forks source link

Can't build pop-launcher-toolkit #198

Closed StillerHarpo closed 6 months ago

StillerHarpo commented 8 months ago

If i add pop-launcher-toolkit as a dependency to my project like so

[dependencies.pop-launcher-toolkit]
git = "https://github.com/pop-os/launcher"

I got the error

    Checking pop-launcher-plugins v1.2.2 (https://github.com/pop-os/launcher#0febac5c)
error[E0432]: unresolved import `cctk::sctk::event_loop`
 --> /home/florian/.cargo/git/checkouts/launcher-7ded99f59e6d425d/0febac5/plugins/src/cosmic_toplevel/toplevel_handler.rs:5:9
  |
5 |         event_loop::WaylandSource,
  |         ^^^^^^^^^^ could not find `event_loop` in `sctk`

For more information about this error, try `rustc --explain E0432`.
error: could not compile `pop-launcher-plugins` due to previous error
nkia-christoph commented 6 months ago

Me neither although I get a different error:

   Compiling smithay-client-toolkit v0.18.0 (https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f3)
error: failed to run custom build command for `smithay-client-toolkit v0.18.0 (https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f3)`

Caused by:
  process didn't exit successfully: `/media/data/projects/pop-launcher-plugin-docker/target/debug/build/smithay-client-toolkit-4921d5671dcabfa8/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=XKBCOMMON_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=XKBCOMMON_STATIC
  cargo:rerun-if-env-changed=XKBCOMMON_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at /home/rumlyne/.cargo/git/checkouts/client-toolkit-e56a3844de110279/2e9bf9f/build.rs:3:49:
  called `Result::unwrap()` on an `Err` value: 
    "
      pkg-config exited with status code 1
        > PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags xkbcommon

          The system library `xkbcommon` required by crate `smithay-client-toolkit` was not found.
          The file `xkbcommon.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
          The PKG_CONFIG_PATH environment variable is not set.

          HINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `xkbcommon.pc`.
    "
     0: rust_begin_unwind
               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
     1: core::panicking::panic_fmt
               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
     2: core::result::unwrap_failed
               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
     3: core::result::Result<T,E>::unwrap
     4: build_script_build::main
     5: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...
make: *** [Makefile:14: build_test] Error 101

@StillerHarpo if you use @oknozor's fork it compiles: https://github.com/oknozor/launcher

StillerHarpo commented 6 months ago

The fork worked for me too

mmstick commented 6 months ago

Read the error. You're missing a dependency.

The system library `xkbcommon` required by crate `smithay-client-toolkit` was not found.
StillerHarpo commented 6 months ago

@mmstick But this wasn't the original issue. My rust knowledge is very limited. But I assume pop-launcher-toolkit needs an older version of smithay-client-toolkit which cargo won't resolve

mmstick commented 6 months ago

@StillerHarpo Avoid running cargo update. The Cargo lockfile will automatically fetch the dependencies that were in place when the commit was built by our build system.