pop-os / cosmic-epoch

Next generation Cosmic desktop environment
1.73k stars 55 forks source link

Add dependencies required during build process #154

Closed ryanabx closed 4 months ago

ryanabx commented 7 months ago

This PR adds a few additional dependencies that I needed in order to build the master branch of cosmic-epoch.

It adds these packages to optional dependencies and the commands to install all dependencies and optional dependencies:

As an example of the issues I would run into without these dependencies, here's the reason I needed librust-atk-dev libatk1.0-dev: image

mmstick commented 7 months ago

Which dependency is requiring GTK?

ryanabx commented 7 months ago

Which dependency is requiring GTK?

From what I remember this is the build error I got that was solved with installing GTK: image

To be frank, I'm new to this project and so it's possible that a different package would have solved this dependency issue

wiiznokes commented 7 months ago

It's because of rfd crate

andreinonea commented 7 months ago

Hi all!

I tried to follow the cosmic-sysext example (just sysext) and I can confirm libpam0g-dev and libgtk-3-dev were missing dependencies for that task. I did not require librust-atk-dev for building the systemd extension, so probably OP tried some other task.

jokeyrhyme commented 7 months ago

Looks like rfd can be used in a GTK-free way: https://docs.rs/rfd/0.12.1/rfd/#xdg-desktop-portal-backend

ryzendew commented 7 months ago

Tested this and confirmed these are needed

jokeyrhyme commented 6 months ago

Yeah, I had to add gtk3 to the CI build in order to get cosmic-text to compile there: https://github.com/pop-os/cosmic-epoch/pull/158

mcclure commented 6 months ago

"Me too": On Ubuntu 23.10, I was also unable to build cosmic-epoch without libpam0g-dev (it was required by cosmic-greeter).

(libgtk-3-dev and build-essentials were already installed before I began; librust-atk-dev is not installed and for some reason turned out not to be needed, but I used a rustup rust instead of the ubuntu packaged rust which may have something to do with it.)

EDIT: Oh, sorry. I did not have librust-atk-dev but I do have libatk1.0-dev.

Dygear commented 5 months ago
   Compiling glyphon v0.3.0 (https://github.com/jackpot51/glyphon.git?branch=refactor#c28dc99c)
   Compiling tiny-skia v0.8.4
error: failed to run custom build command for `gdk-sys v0.18.0`

Caused by:
  process didn't exit successfully: `/home/dygear/cosmic-epoch/cosmic-edit/target/release/build/gdk-sys-c7f637d5c86989e9/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=GDK_3.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64_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_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64_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_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr

  pkg-config exited with status code 1
  > PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gdk-3.0 gdk-3.0 >= 3.22

  The system library `gdk-3.0` required by crate `gdk-sys` was not found.
  The file `gdk-3.0.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 `gdk-3.0.pc`.

warning: build failed, waiting for other jobs to finish...
error: Recipe `build-debug` failed on line 31 with exit code 101
error: Recipe `build` failed on line 11 with exit code 101
dygear@MarkDesk:~/cosmic-epoch $

might be worth adding merging this until the dependency is dropped. needed on a raspberry pi 5.

ryzendew commented 5 months ago

clang and nasm is needed also