axel358 / waydroid-settings

GTK app written in Python to control Waydroid settings
94 stars 14 forks source link

About dependencies #22

Open InternetRebelAKAQuachHungPhong opened 3 weeks ago

InternetRebelAKAQuachHungPhong commented 3 weeks ago

Well, I installed with the install.sh right from this GitHub repo, and here's what I found running the Waydroid Settings:

During installation, I got log like this: `wget -O - https://raw.githubusercontent.com/axel358/Waydroid-Settings/main/install.sh | bash --2024-08-17 18:09:53-- https://raw.githubusercontent.com/axel358/Waydroid-Settings/main/install.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8001::154, 2606:50c0:8000::154, 2606:50c0:8002::154, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8001::154|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1554 (1.5K) [text/plain] Saving to: ‘STDOUT’

2024-08-17 18:09:54 (30.4 MB/s) - written to stdout [1554/1554]

Copied from github Cloning waydroid-settings... Cloning into '/tmp/tmp.tGbLQu5BXs'... remote: Enumerating objects: 573, done. remote: Counting objects: 100% (317/317), done. remote: Compressing objects: 100% (187/187), done. remote: Total 573 (delta 155), reused 258 (delta 107), pack-reused 256 (from 1) Receiving objects: 100% (573/573), 1.11 MiB | 798.00 KiB/s, done. Resolving deltas: 100% (306/306), done.

Installing... [sudo] password for internet-rebel:

Copying scripts to ~/.local/share/waydroid-settings Submodule 'scripts/quackdoc_scripts' (https://github.com/Quackdoc/waydroid-scripts) registered for path 'scripts/quackdoc_scripts' Submodule 'scripts/waydroid-10-11-switch-script' (https://github.com/electrikjesus/waydroid-10-11-switch-script) registered for path 'scripts/waydroid-10-11-switch-script' Submodule 'scripts/wd-scripts' (https://github.com/electrikjesus/wd-scripts.git) registered for path 'scripts/wd-scripts' Cloning into '/tmp/tmp.tGbLQu5BXs/scripts/quackdoc_scripts'... Cloning into '/tmp/tmp.tGbLQu5BXs/scripts/waydroid-10-11-switch-script'... Cloning into '/tmp/tmp.tGbLQu5BXs/scripts/wd-scripts'... Submodule path 'scripts/quackdoc_scripts': checked out 'd7ad1900690f39589d16c2f481096ce130faf0f1' Submodule path 'scripts/waydroid-10-11-switch-script': checked out 'f50121ae1e106c0b594ef3c392f6b58a562e1d26' Submodule path 'scripts/wd-scripts': checked out 'f8f4e3ca2c9501063d59168946cd2cdc23f6c60d'`

But after the installation, I clicked on the app's icon, nothing happens. And here's what after entering waydroid-settings from terminal: Traceback (most recent call last): File "/usr/lib/waydroid-settings/waydroid-settings.py", line 11, in <module> gi.require_version('WebKit2', '4.0') File "/usr/lib/python3/dist-packages/gi/__init__.py", line 125, in require_version raise ValueError('Namespace %s not available for version %s' % ValueError: Namespace WebKit2 not available for version 4.0

Turns out I have gir1.2-webkit2-6.0, not gir1.2-webkit2-4.0, but for some reason, sudo apt install gir1.2-vte-2.91 gir1.2-webkit2-4.0 command just won't install anything; that package has no installation candidate; when I try to install it through directly downloading its package file, it just requires its own dependencies, but apparently there's no installation candidate nor repository for them either. So, in short, some apps(like KeepSolid VPN's Linux version and then this one) are apparently programmed to ONLY use a dependency of a single version but not higher or whatever, but apparently I don't have the repositories to install those dependencies nor their own dependencies.

I don't know, I'm just started in the..study of the world of programming. So, now I just wonder, if you and other developers can program your program to also use the same package of higher version, like by falling to gir1.2-webkit2-6.0, or basically gir1.2-webkit2-* instead of depending on the absolutely same package, what do you think about this idea? Well, by the way I've already been thinking about..modifying some script(s) so the application can use the newer version of its dependencies present on my filesystem.

My system's info's basically like this:

System Details Report


Report details

Hardware Information:

Software Information:

electrikjesus commented 3 weeks ago

Try with gir1.2-webkit2-4.1

InternetRebelAKAQuachHungPhong commented 2 weeks ago

Well I tried installing the said package and it's already present in my system: sudo apt-get install gir1.2-webkit2-4.1 [sudo] password for internet-rebel: Reading package lists... Done Building dependency tree... Done Reading state information... Done gir1.2-webkit2-4.1 is already the newest version (2.44.2-0ubuntu0.24.04.2). The following packages were automatically installed and are no longer required: libappindicator1 libdbusmenu-gtk4 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Oh, by the way, do you think it's possible for this app to work as a Python app in a venv?