blissd / fotema

Photo gallery for Linux
81 stars 8 forks source link

Fotema 1.15 now requires glib-2.81 for compilation, but it's not available on many distributions yet #232

Open NelvinBHV opened 1 month ago

NelvinBHV commented 1 month ago

With the update to version 1.15, fotema now requires glib-2.81 as a dependency for compilation. Unfortunately, glib-2.81 is not yet available by default in many popular Linux distributions. This leads to compatibility issues when trying to compile fotema from source.

Steps to reproduce:

Attempt to compile fotema 1.15 on a distribution that offers a glib version lower than 2.81. The compilation process fails due to the unavailability of the required glib version.

fotema 1.15 should either be able to compile with older versions of glib or provide clear instructions/workarounds for how to proceed on distributions lacking glib-2.81.

blissd commented 1 month ago

Hi @NelvinBHV. I'm sorry you are having trouble building Fotema, and unfortunately I don't know how to build the most recent version of Fotema with a glib version lower than 2.81. I'm not sure what change bumped the minimum required version of glib, but I suspect it was the various dependency bumps to work with the latest GNOME 47 runtime in Flatpak.

blissd commented 1 month ago

Fotema has a memory leak when viewing videos that seems to be related to the GNOME 47 runtime. As a temporary fix I've reverted to the GNOME 46 runtime, which I think should also reduce the glib version.

NelvinBHV commented 1 month ago

Thank you for your feedback. Unfortunately, it still doesn't work. It only reduces the dependency from glib 2.81 to glib 2.80.

warning: glib-sys@0.20.4:

error: failed to run custom build command for glib-sys v0.20.4

Caused by: process didn't exit successfully: /var/tmp/portage/media-gfx/fotema-1.15.2/work/fotema-1.15.2-build/src/release/build/glib-sys-c46e76ca39c0599b/build-script-build (exit status: 1) --- stdout cargo:rerun-if-changed=/var/tmp/portage/media-gfx/fotema-1.15.2/work/fotema-1.15.2/vendor/glib-sys-0.20.4/Cargo.toml cargo:rerun-if-env-changed=GLIB_2.0_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=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 cargo:warning= pkg-config exited with status code 1

PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags glib-2.0 glib-2.0 >= 2.80

The system library glib-2.0 required by crate glib-sys was not found. The file glib-2.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 glib-2.0.pc.

NelvinBHV commented 1 month ago

I took some time today to dive deeper into the problem. Yes, you're right, it's due to the gnome_46 or gnome_47 setting. When I use the setting relm4 = { version = "0.9.0", features = ["libadwaita", "gnome_45"] }, everything compiles except fotema itself. This makes sense because some features are missing.