20

I'm trying to install folding at home, and running into an issue with FAHControl package

$ sudo dpkg -i fahcontrol_7.5.1-1_all.deb
Selecting previously unselected package fahcontrol.
(Reading database ... 318495 files and directories currently installed.)
Preparing to unpack fahcontrol_7.5.1-1_all.deb ...
Unpacking fahcontrol (7.5.1-1) ...
dpkg: dependency problems prevent configuration of fahcontrol:
 fahcontrol depends on python-gnome2; however:
  Package python-gnome2 is not installed.

dpkg: error processing package fahcontrol (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.32.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu1) ...
Processing triggers for mime-support (3.63ubuntu1) ...
Errors were encountered while processing:
 fahcontrol

I don't see python-gnome2 available for eoan, so what is the best way to proceed?

I see in the installation guide that FAHControl isn't required, but would be nice to get it working.

3
17

The work-around mentioned in the link above to sudo apt-mark manual python-gnome2 will not work for 19.10 because that package does not exist in the ubuntu repo :(

Forcing the deps with --force-depends does not work for the same reason, python-gnome2 does not exist.

This is worked on my Ubuntu 19.10 Desktop...YMMV

Step 1 (prerequisites)

Make sure you have these packages installed

sudo apt install python # installs python2.7
sudo apt install python-gtk2 # used by the GUI
sudo apt install equivs # improvement by @Chemary, Tx!

Step 2 (create control file)

Now we need to trick Ubuntu into thinking it has python-gnome2. To do this we will use "equivs". Lot's of good docs on it, but here's a brief rundown:

equivs-control python-gnome2

This creates a DEB control file called python-gnome2 (see example below) in the current directory that you will need to edit. Or you can use this one...feel free to put in your own name/email and stuff...leave everything else

Step 3 (edit control file)

Using any text editor change the created control file like this. It will be in your current directory (assuming your working from the terminal) and will be called python-gnome2

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: python-gnome2
Version: 1:42
Maintainer: Jack Ford <mike@clustergarage.io>
Architecture: all
Description: A fake package to make FAHControl install

Step 4 (build a fake package)

Then build a fake package with the control file you just edited

equivs-build python-gnome2

This will create a DEB package in the current directory called python-gnome2_42_all.deb ...assuming your control file looks like the sample above.

Step 5 (install)

Now you can install your fake package and fahcontrol successfully and your Apt tree will not be broken. Run these commands from the current directory.

sudo dpkg -i ./python-gnome2_*_all.deb # improvement by @Chemary, Tx!
sudo dpkg -i ./fahcontrol_7.5.1-1_all.deb 

Note: If you downloaded fahcontrol_7.5.1-1_all.deb file to say your Downloads directory, then you would need to install it from there e.g.

sudo dpkg -i ~/Downloads/fahcontrol_7.5.1-1_all.deb

Step 6 (save the world!)

Then run it like this from the terminal

FAHControl

Or use from your application launcher. Mine looks like this

enter image description here

Hope that helps!

4
  • Sorry for my stupid question, but what do you mean by "this creates a DEB control file in the current directory"? What directory is that, and how is the DEB control file called? Or could you please just give a command to run via terminal...? :-) Thanks @MichaelSandman – Jayaguru-Shishya Mar 25 '20 at 16:51
  • 1
    @Jayaguru-Shishya, not a stupid question at all. The DEB package stuff is really esoteric. I've added some more description about the control file to my answer. Basically it will be in the current directory where you ran the create command and will be called python-gnome2. The commands to create and use the file to build a fake package are given above. Good luck! – Michael Sandman Mar 28 '20 at 20:24
  • I suggest to add the sudo apt-get install equivs and correct the name of the package in the command to install it to sudo dpkg -i ./python-gnome2_1.42_all.deb – Chemary Apr 6 '20 at 7:26
  • Tx! @Chemary, I've added your suggestions...good callouts. – Michael Sandman Apr 7 '20 at 17:30
9

There is one simple solution, which works kind of like the equivs-build from Michael, but is a bit more elegant I would say.

Instead of creating a fake dependency package, just change the dependencies of the original FAHControl package. You can do that with dpkg, which should be on every Debian/Ubuntu based distro. I tried it on my machine with MX Linux.

1. Unpack the binary part of the package:

dpkg-deb -x fahcontrol_7.5.1-1_all.deb temp-dir

2. Unpack the control part of the package:

dpkg-deb -e fahcontrol_7.5.1-1_all.deb temp-dir/DEBIAN

3. Edit control file

Open the file temp-dir/DEBIAN/controland change python-gnome2 to python-gtk2.

4. Put it into a new deb package:

dpkg-deb -b temp-dir fahcontrol_7.5.1-1_custom.deb

5. Install the package.

The nice thing of this way - besides working without installing additional tools - is, that you don't introduce an empty unused package into your system.

1
  • I like this answer for it's cleverness. Unfortunately, it's not a permanent fix...you will have to repeat this every time there is an update to the FAH package. See my answer for a "set and forget" solutions. Very slick approach, though! -Michael – Michael Sandman Apr 7 '20 at 17:34
1

This is their current workaround, it worked for me for a few hours then it stopped

FAHControl on Ubuntu 19 / Debian 10 and variants

6
  • 1
    Please include the details of the workaround instead of just the link. – thewebjackal Mar 16 '20 at 4:47
  • 2
    WARNING : Don't do this, it has totally broken my dependency tree... – Paul ALBERT Mar 16 '20 at 11:12
  • 1
    That happened for me too so I ended up using FAHClient. You can configure the config file and you can issue commands using the FAHClient --send-command syntax. There should be a way to monitor the progress of each WU using the terminal or the logs – Mitch Mar 17 '20 at 17:09
  • @PaulALBERT didn't a combination of --fix broken and autoremove fix the dependency problem (by removing fahcontrol smh) – Mitch Mar 17 '20 at 17:11
  • @thewebjackal I'll remember that next time – Mitch Mar 17 '20 at 17:12
0

The python-gnome2 package is available via apt, and running:

wget http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb
sudo dpkg -i python-support_1.0.15_all.deb

will fix the python-support issue.

2
  • 1
    As per packages.ubuntu.com/search?keywords=python-gnome2, python-gnome2 is not in Eoan's repositories, and would also need a manual download. You would also need to download python-gconf, python-pyorbit, and a bunch of gnome2 libs manually, as python-gnome2 depends on these. – QwertyChouskie Apr 2 '20 at 2:00
  • Agree. I do not recommend mixing and matches packages from older repos unless you really know what you're doing. Not a solution for everyday users, IMO. – Michael Sandman Apr 7 '20 at 17:37
0
  1. Add Bionic's repository somewhere in your sources.list.
sudo nano /etc/apt/sources.list
deb http://ca.archive.ubuntu.com/ubuntu/ bionic universe
  1. Install FAHControl.
sudo apt update
sudo apt install ~/Downloads/fahcontrol_7.6.13-1_all.deb
  1. Remove Bionic's repository.
sudo nano /etc/apt/sources.list
#deb http://ca.archive.ubuntu.com/ubuntu/ bionic universe

Not the answer you're looking for? Browse other questions tagged or ask your own question.