tauri-apps/tauri

[bug] [Tauri v2] Webkit2gtk missing dependency on Nixos

Closed this issue · 2 comments

Describe the bug

This happens when running the create-tauri-app on for Tauri v2. It does not happen on Tauri v1. I can't find webkit2gtk nix package, only webkitgtk. The build also fails, and reports missing javascriptcoregtk, which I think is part of webkit2gtk?

This is my nix-shell:

let
  pkgs = import <nixpkgs> { };

  libraries = with pkgs;[
    webkitgtk
    gtk3
    cairo
    gdk-pixbuf
    glib
    dbus
    openssl_3
    librsvg
  ];

  packages = with pkgs; [
    pkg-config
    dbus
    openssl_3
    glib
    gtk3
    libsoup
    webkitgtk
    appimagekit
    librsvg
    rustc
    nodejs_20
    cargo
    rustup
  ];
in
pkgs.mkShell {
  buildInputs = packages;

  shellHook =
    ''
      export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH
      export XDG_DATA_DIRS=${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:$XDG_DATA_DIRS
    '';
}

This is the build error:

   Compiling gdkx11-sys v0.18.0
The following warnings were emitted during compilation:

warning: javascriptcore-rs-sys@1.1.1: 

error: failed to run custom build command for `javascriptcore-rs-sys v1.1.1`

Caused by:
  process didn't exit successfully: `/home/aw/Dropbox/education/uni/7_semester/projekt/code/uscope/src-tauri/target/debug/build/javascriptcore-rs-sys-6fc6d214ad03712b/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=JAVASCRIPTCOREGTK_4.1_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 javascriptcoregtk-4.1 javascriptcoregtk-4.1 >= 2.38

  The system library `javascriptcoregtk-4.1` required by crate `javascriptcore-rs-sys` was not found.
  The file `javascriptcoregtk-4.1.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  PKG_CONFIG_PATH_FOR_TARGET contains the following:
      - /nix/store/kcd2yga9mzdkyxidjfnqjhb0ddmrf4jh-dbus-1.14.10-dev/lib/pkgconfig
      - /nix/store/g3r4zbii4wp509fy2idml37phwyn7lrl-expat-2.6.2-dev/lib/pkgconfig
      - /nix/store/7rkywamkx24qrwmnlkfrr5dacm9p09qz-openssl-3.0.14-dev/lib/pkgconfig
      - /nix/store/bj5cf0ysvyjpqdwdjw7rqqd74g0wrdn3-glib-2.80.2-dev/lib/pkgconfig
      - /nix/store/ybsf7n23znq5dr0mfzm3kly07hf9995s-zlib-1.3.1-dev/lib/pkgconfig
      - /nix/store/5xbp2n36hzqrcs1ac26kqy8d5gp5nhl1-libffi-3.4.6-dev/lib/pkgconfig
      - /nix/store/0kq3qcwpl73x3cfqbzqii9jca67ppmrd-gtk+3-3.24.43-dev/lib/pkgconfig
      - /nix/store/q1j1nj8a8x2hp7wd71ginahrr1pgradj-at-spi2-core-2.52.0-dev/lib/pkgconfig
      - /nix/store/l8slxzj1ra9dprg7p07gj2g4sm96hnp3-cairo-1.18.0-dev/lib/pkgconfig
      - /nix/store/pj9bf9msjcwq1az07clvpfa8mlkax5sx-fontconfig-2.15.0-dev/lib/pkgconfig
      - /nix/store/rmqyzrzpz2kzmn8329bc4fjmzvd33ylw-freetype-2.13.2-dev/lib/pkgconfig
      - /nix/store/ycccgkr1vmmq8iks3cy1as3zyp8dlhb2-bzip2-1.0.8-dev/lib/pkgconfig
      - /nix/store/1vlhrkzfbgzv4fh0qxbm2v2srf8fpfyi-brotli-1.1.0-dev/lib/pkgconfig
      - /nix/store/kqa0bzxgdpxairv92x7j41x33xfqjj5f-libpng-apng-1.6.43-dev/lib/pkgconfig
      - /nix/store/zl83i5sfq592aix1hhyyjxm9rpxjv6g3-pixman-0.43.4/lib/pkgconfig
      - /nix/store/xgzdijvf25apm4wsynhahxmxi3d65clr-libXext-1.3.6-dev/lib/pkgconfig
      - /nix/store/smc5sy52l8jy2jbf23jhf2zb0fl6mdqm-xorgproto-2024.1/share/pkgconfig
      - /nix/store/ay4dfnyl2aflq4m3ip0qs1vpqrsacxvv-libXau-1.0.11-dev/lib/pkgconfig
      - /nix/store/n8ylg31dmsddvg23iknhb8ahlzka6prg-libXrender-0.9.11-dev/lib/pkgconfig
      - /nix/store/cxn1jgazp6kxaqllz5z0imx9pz8yn541-libX11-1.8.9-dev/lib/pkgconfig
      - /nix/store/4ds8payssfys42b2gx30lg2faa9qnlkp-libxcb-1.17.0-dev/lib/pkgconfig
      - /nix/store/zag42my274wzifahniz3q6d421mqwv0g-fribidi-1.0.13-dev/lib/pkgconfig
      - /nix/store/xvwa9yhrwv8gdsjjzh01fmp79hq5z6l3-gdk-pixbuf-2.42.12-dev/lib/pkgconfig
      - /nix/store/qy6dpz9wlgmwg8q4pw5b50piqps2icdk-libtiff-4.6.0-dev/lib/pkgconfig
      - /nix/store/z4g0nakrimr0ra82ppbkl78pay87pqjg-libdeflate-1.20/lib/pkgconfig
      - /nix/store/0pn1nsx70cgcp4l5k82al6863y0567d9-libjpeg-turbo-3.0.3-dev/lib/pkgconfig
      - /nix/store/2hscqrqb37h0j9g4svrjqqlni1wrfvrd-xz-5.4.7-dev/lib/pkgconfig
      - /nix/store/szyhy2fbbm1318qrkl6p4j5ibx6xykl4-gsettings-desktop-schemas-46.0/share/pkgconfig
      - /nix/store/xq746p3x70aambpxrmmzwfw0iqhqi9ir-libICE-1.1.1-dev/lib/pkgconfig
      - /nix/store/mh6hvrhzyl258dygjjw037pl081lj93m-libSM-1.2.4-dev/lib/pkgconfig
      - /nix/store/gfljrsr6vk91cd8wwd03jhh353lgiq09-libXcomposite-0.4.6-dev/lib/pkgconfig
      - /nix/store/lrsnpcbqkmphhh26wn1sw8kdknr62l72-libXfixes-6.0.1-dev/lib/pkgconfig
      - /nix/store/2262dg13yj80bq6k73hj735z44kzgidf-libXcursor-1.2.2-dev/lib/pkgconfig
      - /nix/store/c68hc74aydbl0ks5kcvfzlvd79qvggyf-libXdamage-1.1.6-dev/lib/pkgconfig
      - /nix/store/9f7n76z5s4mp1sq571fiscm30zsj6kv5-libXi-1.8.1-dev/lib/pkgconfig
      - /nix/store/4j21990qs6z8vg4dclvyqadsckvqbb9d-libXrandr-1.5.4-dev/lib/pkgconfig
      - /nix/store/czknakybk2a6cx3x89ym00xg7gmhqj6i-pango-1.52.2-dev/lib/pkgconfig
      - /nix/store/7h046g668wmc764458bx239wpimdfifm-harfbuzz-8.4.0-dev/lib/pkgconfig
      - /nix/store/7iwcgw63xi5aizq78ii5i8sxjf3ncmfw-graphite2-1.3.14-dev/lib/pkgconfig
      - /nix/store/j3j4w3cnn9ajw44h6jmv0blca19vf1d9-libXft-2.3.8-dev/lib/pkgconfig
      - /nix/store/qrxw2vf1xg91g02k2mblq34ki0na8iyj-libGL-1.7.0-dev/lib/pkgconfig
      - /nix/store/4kph9kwnd02d22m3i09yhf2kk3lh7b2f-libglvnd-1.7.0-dev/lib/pkgconfig
      - /nix/store/87igb9wfmdgjnflxcqv1q5319p9vlb5h-wayland-1.22.0-dev/lib/pkgconfig
      - /nix/store/zjvd3a25rzfryqxi73dgrj8hpwmzjnph-wayland-1.22.0-bin/lib/pkgconfig
      - /nix/store/9xkip96y3i5jlhvlfk5q2m95myv3w1p4-wayland-protocols-1.35/share/pkgconfig
      - /nix/store/5x8mnl8s42xnrln1sbvfy44mym7b7axk-libXinerama-1.1.5-dev/lib/pkgconfig
      - /nix/store/pcfy82r83hxi6321lnsnpz459f8hqwmb-cups-2.4.8-dev/lib/pkgconfig
      - /nix/store/aakpck7mmlzf9m9sf1hkp3bjkm90kxnq-gmp-with-cxx-6.3.0-dev/lib/pkgconfig
      - /nix/store/hnnc17q1wh5yz4z97ajxfmskvs193hz2-libsoup-3.4.4-dev/lib/pkgconfig
      - /nix/store/d5cz9ql41fjbwqfxc6d694q7pdhbd7r3-webkitgtk-2.44.3+abi=6.0-dev/lib/pkgconfig
      - /nix/store/0z6zq4nliz54xqmva7mdwx68fcds9b04-gtk4-4.14.4-dev/lib/pkgconfig
      - /nix/store/sq0l8sc5fldvnfdszc1xa0dvh1l1rhq3-graphene-1.10.8-dev/lib/pkgconfig
      - /nix/store/5y9ncmk68gj47jn24bf37wk5gyxa060y-vulkan-loader-1.3.283.0-dev/lib/pkgconfig
      - /nix/store/338amvjly8ycl1a7qc9kf7xa5z620zk4-librsvg-2.58.1-dev/lib/pkgconfig

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

warning: build failed, waiting for other jobs to finish...

Reproduction

Have nix-shell installed, copy my nix.shell file, run nix-shell in the same dir as the file. Then try to run npm create tauri-app@latest -- --rc and you should get the error

Expected behavior

That Tauri builds and runs

Full tauri info output

[✘] Environment
    - OS: NixOS 24.5.0 x86_64 (X64)
    ✘ webkit2gtk-4.1: not installed
      Visit https://tauri.app/v1/guides/getting-started/prerequisites to learn more about tauri prerequisites
    ✔ rsvg2: 2.58.1
    ✔ rustc: 1.77.2 (25ef9e3d8 2024-04-09) (built from a source tarball)
    ✔ cargo: 1.77.1
    ✔ rustup: 1.26.0 (1980-01-01)
    ✔ Rust toolchain: 
    - node: 20.15.1
    - npm: 10.7.0

[-] Packages
    - tauri 🦀: 2.0.0-rc
    - tauri-build 🦀: No version detected
    - wry 🦀: No version detected
    - tao 🦀: No version detected
    - @tauri-apps/api : 2.0.0-rc.5
    - @tauri-apps/cli : 2.0.0-rc.16

[-] Plugins
    - tauri-plugin-shell 🦀: 2.0.0-rc
    - @tauri-apps/plugin-shell : 2.0.0-rc.1

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../build
    - devUrl: http://localhost:1420/
    - framework: Svelte
    - bundler: Vite

Stack trace

No response

Additional context

No response

I can't find webkit2gtk nix package, only webkitgtk

I think it was called webkitgtk_4_1 could that be? (not a nix/nixos user myself)

Thank you very much! That worked.

I had previously tried with webkitgtk_6_0 but not 4_1.