betaflight / betaflight-configurator

Cross platform configuration tool for the Betaflight firmware
GNU General Public License v3.0
2.52k stars 896 forks source link

Ubuntu 24.04 LTS missing dependency #4145

Open hremling opened 1 month ago

hremling commented 1 month ago

Describe the bug

The installation of betaflight configurator on Ubuntu 24.04 LTS fails due to a missing dependency. A packet called libgconf-2-4 has no install candidates in the official noble nombat repositories. I researched the issue and found some forum posts, saying that libgconf-2-4 is deprecated from 23.10 onwards.

A workaround might be to add the 22.04 LTS repositories to the sources.list file and install the missing packet manually.

However it should be reviewed, if the dependency is really necessary or if another package could be used instead.

To Reproduce

Ubuntu 24.04.1 LTS Clean Install

Download betaflight-configurator_10.10.0_amd64.deb file

dpkg -i betaflight-configurator_10.10.0_amd64.deb

Expected behavior

All dependencies are installed automatically from the default Ubuntu 24.04 repository without errors

Configurator version

10.10.0

Flight controller configuration

No response

Add any other context about the problem that you think might be relevant here

No response

nerdCopter commented 1 month ago

duplicate https://github.com/betaflight/betaflight-configurator/issues/3969 https://github.com/betaflight/betaflight-configurator/issues/3869 https://github.com/betaflight/betaflight-configurator/issues/2950

Can also try the still-in-development https://app.betaflight.com/

shahmirthesquid commented 1 week ago

Hello, you can fix this issue by manually installing the following packages:

gconf2-common_3.2.6-5_all.deb libgconf-2-4_3.2.6-5_amd64.deb

Google these package names, download them, and install. I downloaded them from debian pkgs org. Then you will be able to install betaflight with no problem. This was working for me on Linux Mint 22 and 23.

After installing betaflight I did the USB permissions command like it says in the betaflight wiki for linux, and everything was connecting perfectly.

nerdCopter commented 1 week ago

i feel like using the portable (.zip) is a functional "fix" as well. however, the included .desktop file should be edited to point to the correct location of the executable (not /opt/...).

hremling commented 1 week ago

I think both of those options shouldn't be called a "fix" because they require manual intervention from the user. In addition, those workarounds could stop working at any time because they rely on the deprecated libgconf-2-4 package. Even if that's not happening anytime soon, it poses a security risk at least. My issue was just intended to give a heads up to the developers since the Ubuntu 24.04.1 LTS was being rolled out to the users. As one of the most widely used Linux distributions, this might have lead to many more users having to face the same issue.

nerdCopter commented 1 week ago

understood. Binary installables are no longer in the Betaflight workflow in favor of https://app.betaflight.com

haslinghuis commented 1 week ago
shahmirthesquid commented 6 days ago

Could we please add some kind of disclaimer somewhere on how to do the linux fix. I was able to figure it out by scouring enough forums, but it would be a lot better if betaflight itself linked to safe mirrors of libgconf and other dependencies. I think its reasonable for users to have to download some extra .deb files and install those first. That happens on windows all the time. But making the users scour the internet themselves and possibly download an unsafe version of libgconf seems like a bad idea.

hremling commented 6 days ago

+1 for the idea. I suggest putting it in into the Readme beneath the paragraph on how to fix the serial interface permission.

haslinghuis commented 6 days ago

For ubuntu 22.04: