Whenever an application description begins with phrases like “runs on anything” and “is easy to setup”, attribute such bravado to the author’s lack of experience outside his development sandbox. Freehold comes as a tarball for “any Linux” and, naturally, won’t work on most of them out-of-the-box. Documentation for freehold mostly remained in it’s author’s head, as to what’s been provided to poor us unaccustomed to things that run on everything and are easy to setup is missing everything related to the installation, configuration and start-up of the application.

All these oversights are a sign of many bugs to come. Having said that, freehold has potential at least for Web UI aficionados. The application comes in two pieces: freehold server and freehold-sync client and another piece the author calls freehold client, which is not really a client but an API. So we have a developer with little experience outside a Docker container or somesuch. Probably for that exact reason this happens:

It would seem that freehold is seeking GLIBC 2.14 (likely among many other things that aren’t there) and I only have 2.12 on tap. This is why most applications include a list of basic system requirements, so sysadmins don’t go down the rabbit hole of endless updating and re-linking that will never get the app running and will break the server.

The server piece is a binary that doesn’t work (on my test box, at least) and comes with no instructions, prerequisites, or init scripts. Looking at the skimpy documentation just a little below the “easy to setup and get running”, the author proceeds directly to describing how awesome freehold is when it is actually working. When it’s not working, I suppose, it is slightly less amazing.

Of course there is also an option to build from source. However, to do so you will need to install the whole Go/CGO development bundle (and probably actually learn some Go and JSON in the process), which makes me think I’d rather get back to watching the “Vikings”.

I’ll set a cron job to remind me to check on the dude’s progress in a year or so, when he gets around to updating the docs and, hopefully, drops the “easy” and “everywhere” preambles. For now, advice from the recent issue of Linux Pro magazine notwithstanding, just stick with osync., rynsc, or lsync.

Leave A Reply

Please enter your comment!
Please enter your name here