Simply looking at the backtrace, it looks like there's a binary incompatibility with groovy. With some extra linebreaks;
Code:
java.lang.IncompatibleClassChangeError: the number of constructors
during runtime and compile time for groovy.util.FactoryBuilderSupport
do not match. Expected 3 but got 2
Some quick Googling reveals http://jira.codehaus.org/browse/GROOVY-4802;
Originally Posted by
Guillame Laforge
[...] this [third] constructor was already deprecated in Groovy 1.6 (in some 1.5.x release).
We kept the deprecation of that constructor in two major releases.
It's indeed only in Groovy 1.8 that we removed that deprecation, and this happened already in June 2010!
I'm not sure we should follow the JDK approach that keeps all the deprecated things forever
You don't mention what Kubuntu release you're running, but the precise repository version of groovy is 2.0.0~beta2+isreally1.8.6-0ubuntu1.
What you want to do is to downgrade it to an earlier (< 1.8) version, such as 1.7 that was released with 11.10 oneiric. The easiest way is to download that package from packages.ubuntu.com and manually install the deb file. (Admittedly you could instead add some oneiric repositories to your apt sources, if you prefer that approach.)
Apologies if this is a bit basic and obvious, but for Googlers who don't know the dance; download the .deb, find it in Dolphin, and double-click it to open up QApt for installation. Or do it from a terminal;
Code:
$ sudo dpkg -i /path/to/groovy_1.7.10-2_all.deb
At this point your desktop4shared should work properly -- or at the very least, crash with some other error. ; 3
The next big hurdle is getting package managers to not upgrade the package; there is an update in the precise repositories, after all. They don't always listen to eachothers' settings but the following should be enough;
Code:
$ printf 'Package: groovy\nPin: version 1.7*\nPin-Priority: 1001\n' | sudo tee /etc/apt/preferences.d/groovy
$ echo groovy hold | sudo dpkg --set-selections
$ sudo aptitude hold groovy # you may not have aptitude installed, in which case this won't work -- ignore if so
If you're using some other exotic package manager (such as smartd), look to its documentation for hints on how to pin/hold packages. Hopefully it should then stay at 1.7 at package upgrades.
Bookmarks