Page 1 of 1

Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 1:41 pm
by vext01
Hi all,

First of all, thanks for folding@home. What an excellent project!

We have a spare server which I've just installed as a folding node. I wanted to share my experience with setting it up. Please take this as constructive criticism.

It's all very simple apart from the need to use `--force-depends` to install the Debian packages. `--force-depends` is super-annoying because it effectively breaks the package manager on a Debian stable box. e.g.:

Code: Select all

# apt-get install ncdu
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 fahcontrol : Depends: python-gnome2 but it is not installable
              Recommends: fahviewer but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
So the FAH packages list non-existant dependencies. Perhaps the package was built on an older version of Debian?

After reluctantly using `--force-depends` running `FAHControl` will give:

Code: Select all

# FAHControl 
Traceback (most recent call last):
  File "/usr/bin/FAHControl", line 25, in <module>
    from fah import FAHControl, load_fahcontrol_db
  File "/usr/lib/python2.7/dist-packages/fah/__init__.py", line 22, in <module>
    import util
  File "/usr/lib/python2.7/dist-packages/fah/util/__init__.py", line 22, in <module>
    import gtk
ImportError: No module named gtk
This can be fixed by installing `python-gtk2`. Perhaps the `python-gnome2` dependency should be `python-gtk2`?

I guess what I'm saying is, it's not good to ask users to install stuff with `--force-depends`. Is there any plan to fix this? Why not use dependencies found in the package manager?

Thanks :D

P.S. I'd also have liked to run FAH on my BSD machines, but that's another story.

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 5:53 pm
by Joe_H
I have posted elsewhere on this where others have asked about the dependencies, and others have posted what they did to take care of those. The short of it is that there is a single developer paid to work on the client and server software. The current version of the client is 2 years old and not constantly updated, a new version was planned, and currently on hold due to the COVID-19 response. The dependencies used at the time of release were to support current and LTS versions of a number of Linux distros.

BSD would be an additional OS to support. In the past some have managed to get things to work with Linux support added to their BSD system, but I understand it can be a bit of work.

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 5:54 pm
by ipkh
It is being actively worked on via the github page. That is a better way to check on progress and offer help to the programmers working on it.

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 8:42 pm
by vext01
Thanks everyone for your responses!

OK, so this is clearly a known issue, so sorry for my noise.

About the github project you mention. I found the account here:
https://github.com/FoldingAtHome

But I don't see the FAHClient sources. Is it still closed-source?

If I can get the sources for FAHClient and its dependencies, I can build from source on BSD.

Thanks!

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 10:27 pm
by Jesse_V
vext01 wrote:About the github project you mention. I found the account here:
https://github.com/FoldingAtHome

But I don't see the FAHClient sources. Is it still closed-source?
If I can get the sources for FAHClient and its dependencies, I can build from source on BSD.
FAHClient is closed-source due to concerns about people modifying their client, manipulating workunits, and corrupting the scientific data returned back to their servers. This was a similar problem that BOINC ran into and they solved it by double-checking work. That is very inefficient, so F@h chose instead to close the source for the FAHClient component. Instead, you could set up a script that downloads FAHClient from the F@h website.

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 11:32 pm
by ipkh
You don't need fahcontrol to fold. There are workarounds for it but as long as the fahclient itself is installed you can fold just fine.
At worst you might have to edit the config.xml file to input your username passkey and team info.

Re: Broken .deb dependencies on Debian stable

Posted: Tue Mar 31, 2020 11:41 pm
by bruce
Warning: When you hand-edit config.xml be very careful. FAHClient is totally intolerant of unexpected things in that file.

Re: Broken .deb dependencies on Debian stable

Posted: Wed Apr 01, 2020 8:20 am
by vext01
FAHClient is closed-source due to concerns about people modifying their client, manipulating workunits, and corrupting the scientific data returned back to their servers.
I see. It's a shame that that's the kind of world we live in, but I totally understand.

Then again, if that's what bad guys want to do, then they will probably still achieve it via reverse engineering and binary modification :(

Thanks everyone for your answers.

Re: Broken .deb dependencies on Debian stable

Posted: Wed Apr 01, 2020 2:54 pm
by Joe_H
But that is more work than most are willing to put into doing that kind of thing, and they would also need to overcome digital signing of the files sent between servers and clients.

Not perfect but that was the approach taken. My understanding is that there are plans to make more of the client open source, but those currently are interrupted by COVID-19 response. So far the science code, OpenMM and Gromacs, is open, and the parts of the client other than FAHClient are already open. There is also an API available for connecting to FAHClient, you could write you own replacement for FAHControl or Web Control.