Aylur / ags

A customizable and extensible shell
GNU General Public License v3.0
2.22k stars 116 forks source link

Meson build fails on debian(Kali) #266

Closed Roonil closed 9 months ago

Roonil commented 9 months ago

Using the up-to-date system packages here. Also, I've installed Ubuntu pre-requisites from the wiki. Whenever I try meson install -C build, the build fails with the following message:

 INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja
[1/2] Generating src/typescript-compile with a custom command
FAILED: src/tsc-output 
/usr/bin/tsc --outDir /home/r00n1l/Downloads/ags-v1.6.3-beta/ags/build/tsc-out
error TS2688: Cannot find type definition file for 'atk-1.0'.
  The file is in the program because:
    Entry point for implicit type library 'atk-1.0'
error TS2688: Cannot find type definition file for 'cairo-1.0'.
  The file is in the program because:
    Entry point for implicit type library 'cairo-1.0'
error TS2688: Cannot find type definition file for 'dbusmenu-0.4'.
  The file is in the program because:
    Entry point for implicit type library 'dbusmenu-0.4'
error TS2688: Cannot find type definition file for 'dbusmenugtk3-0.4'.
  The file is in the program because:
    Entry point for implicit type library 'dbusmenugtk3-0.4'
error TS2688: Cannot find type definition file for 'freetype2-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'freetype2-2.0'
error TS2688: Cannot find type definition file for 'gdk-3.0'.
  The file is in the program because:
    Entry point for implicit type library 'gdk-3.0'
error TS2688: Cannot find type definition file for 'gdkpixbuf-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'gdkpixbuf-2.0'
error TS2688: Cannot find type definition file for 'gio-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'gio-2.0'
error TS2688: Cannot find type definition file for 'gjs'.
  The file is in the program because:
    Entry point for implicit type library 'gjs'
error TS2688: Cannot find type definition file for 'glib-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'glib-2.0'
error TS2688: Cannot find type definition file for 'gmodule-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'gmodule-2.0'
error TS2688: Cannot find type definition file for 'gobject-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'gobject-2.0'
error TS2688: Cannot find type definition file for 'gtk-3.0'.
  The file is in the program because:
    Entry point for implicit type library 'gtk-3.0'
error TS2688: Cannot find type definition file for 'gvc-1.0'.
  The file is in the program because:
    Entry point for implicit type library 'gvc-1.0'
error TS2688: Cannot find type definition file for 'harfbuzz-0.0'.
  The file is in the program because:
    Entry point for implicit type library 'harfbuzz-0.0'
error TS2688: Cannot find type definition file for 'nm-1.0'.
  The file is in the program because:
    Entry point for implicit type library 'nm-1.0'
error TS2688: Cannot find type definition file for 'pango-1.0'.
  The file is in the program because:
    Entry point for implicit type library 'pango-1.0'
error TS2688: Cannot find type definition file for 'soup-3.0'.
  The file is in the program because:
    Entry point for implicit type library 'soup-3.0'
error TS2688: Cannot find type definition file for 'xlib-2.0'.
  The file is in the program because:
    Entry point for implicit type library 'xlib-2.0'
ninja: build stopped: subcommand failed.

meson setup build produces no issues, and I've confirmed that there's no existing node_modules directory in any of the parent folders. I tried running npm install and also the .tar.gz packages from the release, but I always get the same error. Seems like some import issue to me. I've also verified that the conflicting files do exist in node_modules/@girs directory and they also seem to have the .d.ts files.

kotontrion commented 9 months ago

Kali Linux is based on Debian testing, which packages tsc version 4.8.4 while the current version is 5.3.3. I don't know what breaking change occurred since then resulting in this. You can edit the src/meson.build file to use npx tsc instead of tsc to use the npm version instead of the one packaged for your distro. It will already be installed by npm install and is the most recent version. I tested this in distrobox with debian testing and this worked.

Roonil commented 9 months ago

This is strange. I edited the meson.build in src but I still experienced issues. However, upon reverting the meson.build file and trying to update several node libraries (including npm and tsc) I still received errors but this time ags compiled successfully (using tsc 4.8.4 itself). I don't know what actually fixed it but it works for now.

rydymth commented 7 months ago

Yupp

Kali Linux is based on Debian testing, which packages tsc version 4.8.4 while the current version is 5.3.3. I don't know what breaking change occurred since then resulting in this. You can edit the src/meson.build file to use npx tsc instead of tsc to use the npm version instead of the one packaged for your distro. It will already be installed by npm install and is the most recent version. I tested this in distrobox with debian testing and this worked.

This one helped me on my Ubuntu systems. Finally got it installed! Thankyou @kotontrion