face-hh / webx

An alternative for the World Wide Web - browse websites such as buss://yippie.rizz made in HTML, CSS and Lua. Custom web browser, custom HTML rendering engine, custom search engine, and more.
Apache License 2.0
1.85k stars 151 forks source link

GTK4 error on linxmint #21

Open HridayDev opened 5 months ago

HridayDev commented 5 months ago

i get the following error, i am on linuxmint21.3 and have never used rust before. i tried using ai and googling this but to no result. i apologies if this question is too stupid but i can't figure it out.

Building Napture...
fatal: not a git repository (or any of the parent directories): .git
Failed to determine the repository status.
   Compiling gobject-sys v0.19.0
   Compiling cairo-sys-rs v0.19.2
   Compiling gdk4-sys v0.8.1
   Compiling semver v1.0.22
error: failed to run custom build command for `gdk4-sys v0.8.1`

Caused by:
  process didn't exit successfully: `/home/hridaykh/Downloads/webx-master/napture/target/release/build/gdk4-sys-25919e441e3a2bc2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=GTK4_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

  --- stderr

  pkg-config exited with status code 1
  > PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc:/usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc: PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gtk4 gtk4 >= 4.11

  The system library `gtk4` required by crate `gdk4-sys` was not found.
  The file `gtk4.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  PKG_CONFIG_PATH contains the following:
      - /usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc
      - /usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc
      - 

  HINT: you may need to install a package such as gtk4, gtk4-dev or gtk4-devel.

warning: build failed, waiting for other jobs to finish...
face-hh commented 5 months ago

You have to install the GTK library, on mint it might be sudo apt install gtk4.

HridayDev commented 5 months ago

i have it install:

$ sudo apt install libgtk-4-1 libgtk-4-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libgtk-4-1 is already the newest version (4.6.9+ds-0ubuntu0.22.04.2).
libgtk-4-1 set to manually installed.
libgtk-4-dev is already the newest version (4.6.9+ds-0ubuntu0.22.04.2).
The following packages were automatically installed and are no longer required:
  libreoffice-style-elementary linux-headers-5.15.0-105
  linux-headers-5.15.0-105-generic linux-image-5.15.0-105-generic
  linux-modules-5.15.0-105-generic linux-modules-extra-5.15.0-105-generic
  python3-proton-vpn-session
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 55 not upgraded.

but i still get:

$bash ./install-linux 
Building Napture...
fatal: not a git repository (or any of the parent directories): .git
Failed to determine the repository status.
   Compiling glib-sys v0.19.0
   Compiling gobject-sys v0.19.0
   Compiling gio-sys v0.19.0
   Compiling cairo-sys-rs v0.19.2
   Compiling pango-sys v0.19.0
   Compiling gdk-pixbuf-sys v0.19.0
   Compiling gdk4-sys v0.8.1
   Compiling graphene-sys v0.19.0
   Compiling openssl-sys v0.9.102
error: failed to run custom build command for `gdk4-sys v0.8.1`

Caused by:
  process didn't exit successfully: `/home/hridaykh/Downloads/webx-master/napture/target/release/build/gdk4-sys-25919e441e3a2bc2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=GTK4_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

  --- stderr

  pkg-config exited with status code 1
  > PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc: PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gtk4 gtk4 >= 4.11

  The system library `gtk4` required by crate `gdk4-sys` was not found.
  The file `gtk4.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  PKG_CONFIG_PATH contains the following:
      - /usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc
      - 

  HINT: you may need to install a package such as gtk4, gtk4-dev or gtk4-devel.

warning: build failed, waiting for other jobs to finish...
face-hh commented 5 months ago

Your pkg config is probably missing. Can you try the pre-built executable?

HridayDev commented 5 months ago

the Bussin.Napture.LINUX file?

face-hh commented 5 months ago

Yeah... GitHub automatically added the extension. It's a x86_64 file

HridayDev commented 5 months ago

now i get:./Bussin_Napture: error while loading shared libraries: liblua.so.5.4: cannot open shared object file: No such file or directory i have install liblua5.4 and lua

face-hh commented 5 months ago

Try installing lua-devel

HridayDev commented 5 months ago

it is a rpm package, on linuxmint (debian or ubuntu) uses deb packages

EducatedSuddenBucket commented 5 months ago

bro change the package config from /usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc to /

HridayDev commented 5 months ago

bro change the package config from /usr/lib/x86_64-linux-gnu/pkgconfig/gtk4.pc to / did not work changing package config to /

hannes1112 commented 5 months ago

I have the same problem as HridayDev:

liz@liz-OptiPlex-7060:~/Desktop/webx-master$ ./install-linux
Building Napture...
fatal: not a git repository (or any of the parent directories): .git
Failed to determine the repository status.
   Compiling gdk4-sys v0.8.1
   Compiling proc-macro-error v1.0.4
   Compiling gsk4-sys v0.8.1
   Compiling proc-macro-error-attr v1.0.4
   Compiling gio v0.19.4
   Compiling semver v1.0.22
error: failed to run custom build command for `gdk4-sys v0.8.1`

Caused by:
  process didn't exit successfully: `/home/liz/Desktop/webx-master/napture/target/release/build/gdk4-sys-25919e441e3a2bc2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=GTK4_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

  --- stderr

  pkg-config exited with status code 1
  > PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gtk4 gtk4 >= 4.11

  The system library `gtk4` required by crate `gdk4-sys` was not found.
  The file `gtk4.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  PKG_CONFIG_PATH contains the following:
      - /usr/lib/x86_64-linux-gnu/pkgconfig

  HINT: you may need to install a package such as gtk4, gtk4-dev or gtk4-devel.

warning: build failed, waiting for other jobs to finish...
QuinceTart10 commented 5 months ago

The issue here is that Ubuntu 22.04 ships an outdated version of GTK 4, which Napture doesn't support. You can work around it by using Napture in a Distrobox with an up to date distro, such as Ubuntu 24.04.

Chakrabortysoura commented 4 months ago

@QuinceTart10 can u provide some guidence on how to fix it i am facing the same issue here or point to any actual tutorial or resource

CalinZBaenen commented 3 months ago

The issue here is that Ubuntu 22.04 ships an outdated version of GTK 4, which Napture doesn't support. You can work around it by using Napture in a Distrobox with an up to date distro, such as Ubuntu 24.04.

Is there a way I can fix this on Ubuntu, though?
Ubuntu is my preferred distro at the moment, and somewhat forced due to circumstance.

I want to be able to use gtk4 in Rust.

QuinceTart10 commented 3 months ago

The issue here is that Ubuntu 22.04 ships an outdated version of GTK 4, which Napture doesn't support. You can work around it by using Napture in a Distrobox with an up to date distro, such as Ubuntu 24.04.

Is there a way I can fix this on Ubuntu, though?
Ubuntu is my preferred distro at the moment, and somewhat forced due to circumstance.

I want to be able to use gtk4 in Rust.

Just upgrade to Ubuntu 24.04, it has a newer gtk4 version

CalinZBaenen commented 3 months ago

Upgrades won't be available until august.

Besides, gtk (for GTK 3) doesn't seem to work either, as I get a near identical error.

QuinceTart10 commented 3 months ago

Upgrades won't be available until august.

What's your source for that? Just enable non-LTS upgrades, do the upgrade, and set it back to LTS only.

Besides, gtk (for GTK 3) doesn't seem to work either, as I get a near identical error.

Doesn't Napture require GTK4 though?

CalinZBaenen commented 3 months ago

What's your source for that?

NobleUpgrades - Community Help Wiki and (the answer to) An easy way to upgrade from 22.04 to 24.04 without losing data or application settings? [duplicate].

Just enable non-LTS upgrades, do the upgrade, and set it back to LTS only.

Where?

Doesn't Napture require GTK4 though?

What is Napture?