Nearly a year after my rant about Handbrake’s switch from GTK+2 to a bleeding edge version of GTK+3, I am about to give up on my attempts to build the required GTK+3 static libraries into the handbrake package. Unlike the situation with applications that use Qt or WxWidgets for their GUI, creating a private run-time for GTK is like wading through the pools of hell. GTK wants caches, configuration files and stuff all over the place. My handbrake with private GTK+3 crashes because it might still be trying to use the older GTK+3 libraries on my Slackware 14.1 computer.
So I said to myself: “fuck it” and build Handbrake 0.10.2 for Slackware-current exclusively. The development version of Slackware does have a GTK+3 which is contemporary enough and with some tweaks, I was able to compile a (hopefully) working handbrake GUI.
It is of course possible to compile the commandline version of Handbrake on Slackware 14.1 because that does not require GTK+3 as a dependency. Come to think of it, perhaps I should adapt the handbrake.SlackBuild with a switch parameter that will allow you to skip the “ghb” GUI program and only compile “HandBrakeCLI“.
I wonder if anyone will step up and write a Qt-based wrapper about the HandBrakeCLI program. That would be really welcome, because I do not think that the Handbrake developers will ever produce a Qt based GUI variant. They attempted that once if I remember correctly, but nothing good came from that.
When I have some spare time I will prod further at getting Handbrake to use a private GTK+3 run-time, but don’t hold your breath. I have a program that compiled with zero errors, but it crashes on the GTK component libraries. I am not sure if I ever find out how to overcome that… I am not aware of anyone else ever successfully creating a GTK+3 based GUI program on Linux that used its own private library versions.
Anyway, have fun with handbrake if you are running Slackware-current.
You can get the package from my “restricted” repository. The package contains software which is under patent dispute (the MP3 and AAC audio encoders) so I can not host the package on the Slackware server.