How to install folding at home (Folding@home FAHControl) on Ubuntu 19.10
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.
Solution 1:
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 <[email protected]>
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
Hope that helps!
Solution 2:
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/control
and 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.
Solution 3:
This is their current workaround, it worked for me for a few hours then it stopped
FAHControl on Ubuntu 19 / Debian 10 and variants