ExpressLRS / ExpressLRS-Configurator

Cross platform configuration & build tool for the ExpressLRS radio link
GNU General Public License v3.0
565 stars 118 forks source link

When installing .deb package on Ubuntu 23.10, it reports dependency problem due to missing dconf2 #591

Closed seriyps closed 3 months ago

seriyps commented 5 months ago

Expected Behavior

When installing the app via .deb package, installation should be successful

Current Behavior

While the app installs, it reports error and APT state becomes inconsistent:

$ sudo dpkg -i ~/Downloads/expresslrs-configurator_1.6.1_amd64.deb
Selecting previously unselected package expresslrs-configurator.
(Reading database ... 414030 files and directories currently installed.)
Preparing to unpack .../expresslrs-configurator_1.6.1_amd64.deb ...
Unpacking expresslrs-configurator (1.6.1) ...
dpkg: dependency problems prevent configuration of expresslrs-configurator:
 expresslrs-configurator depends on gconf2; however:
  Package gconf2 is not installed.

dpkg: error processing package expresslrs-configurator (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1.1ubuntu1) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu5) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for bamfdaemon (0.5.6+22.04.20220217-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Errors were encountered while processing:
 expresslrs-configurator

Steps to Reproduce

  1. While on Ubuntu 23.10
  2. Download .deb package form releases page
  3. run dpkg -i ~/Downloads/expresslrs-configurator_1.6.1_amd64.deb

Possible Solution (Not obligatory)

I believe it should be safe to just remove this line:

https://github.com/ExpressLRS/ExpressLRS-Configurator/blob/1531cd6cd0d467dc54263997875814bdeba7cf1f/package.json#L134

Because the app still launches after the installation error. The roblem is that it leaves API in inconsistent state and makes software updates impossible unless I remove elrs-configurator.

Context

not relevant

Your Environment

woutervddn commented 5 months ago

Can confirm, I also have this issue on Ubuntu 23.10

woutervddn commented 5 months ago

Can confirm that removing gconf2, gconf-service, from the control file solves the issue.

I wanted to include the amended .deb file, but that is not allowed (probably for the best). So I'll give the recipe instead.

I ran the following to produce an installable .deb file:

mkdir expresslrs
cd expresslrs
wget https://github.com/ExpressLRS/ExpressLRS-Configurator/releases/download/v1.6.1/expresslrs-configurator_1.6.1_amd64.deb
dpkg-deb -x expresslrs-configurator_1.6.1_amd64.deb tmp
dpkg-deb --control expresslrs-configurator_1.6.1_amd64.deb
mv DEBIAN tmp/
gedit tmp/DEBIAN/control

Remove gconf and gconf-service, save the file and close

sudo apt-get install -f ./expresslrs-configurator_1.6.1_amd64_hotfix.deb

Without the -f (--fix-missing) it complained on my system that python3-distutils was not installed.

amatsumara commented 5 months ago

Yeah, I can confirm this issue on Ubuntu 23.10 as well

seriyps commented 5 months ago

I found a similar ticket in another Electron-based app and there they just removed the gconf2 dependency https://github.com/Eugeny/tabby/pull/9512 referring to this change in Electron: https://github.com/electron/electron/pull/19498

I believe same can be done here as well.

amatsumara commented 4 months ago

Same on the latest Ubuntu 24.04 LTS Noble Numbat. Problem seem to be even worse than in 23.10 because suggested workarounds does't work (before that I installed gconf2, python3-distutils from older Ubuntu 23.04 Lunar Lobster). I can't install python3-distutils because 24.04 have python 3.12 which conflicts with older version:

apt install python3-distutils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3 : Conflicts: python3-distutils but 3.11.2-2 is to be installed
 python3-distutils : Depends: python3:any (< 3.12)
                     Depends: python3-lib2to3 (= 3.11.2-2) but 3.12.3-0ubuntu1 is to be installed
 python3-zipp : Depends: python3-more-itertools but it is not going to be installed
 shim-signed : Depends: grub-efi-amd64-signed (>= 1.191~) but it is not going to be installed or
                        grub-efi-arm64-signed (>= 1.191~) but it is not installable or
                        base-files (< 12.3) but 13ubuntu10 is to be installed
               Depends: grub-efi-amd64-signed (>= 1.187.2~) but it is not going to be installed or
                        grub-efi-arm64-signed (>= 1.187.2~) but it is not installable
               Depends: grub2-common (>= 2.04-1ubuntu24) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
codebykyle commented 2 months ago

Downloading the newest release and running the .deb file gave the same error. There is no install candidate for gconf or gconf-service in Ubuntu 23.10

jurgelenas commented 2 months ago

Downloading the newest release and running the .deb file gave the same error. There is no install candidate for gconf or gconf-service in Ubuntu 23.10

Please use latest nightly.