Sunday, March 23, 2008

Don't invite eclipse euorpa to the feast!

Eclipse is a wonderful thing and the update manager can make life easy. However, if you want to install something a little out the way and unsupported you can so easily get in a mess under Europa (I guess this is why P2 is such a big thing for Ganymede)

Why Europa isn't my quartermaster!
    1. If you have the wrong platform bundles installed ie x86 rather than x86_64 specifically
      • org.eclipse.core.filesystem.linux.x86_64_1.0.100.v20070510.jar
      • org.eclipse.equinox.launcher.gtk.linux.x86_64_1.0.2.R331_v20071019
      • org.eclipse.platform.source.linux.gtk.x86_64_3.3.2.R33x_v20071022-_19UEksF-G8Yc6bUv3Dz
      • org.eclipse.rcp.source.linux.gtk.x86_64_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS
      • org.eclipse.swt.gtk.linux.x86_64_3.3.2.v3347.jar

        the error message you get on startup is very obtuse

      exit code code=13 is about as friendly as my favourite error message 'an unknown error occurred at an unknown location'

    2. I can't see where it says i have the wrong platform modules here... isn't this something the launcher should check for?
Then things can get worse ;-)

I tried to swap the x86 bundles for the X86_64 versions I had lying around and then got this...

now if you understand what you have just done this is OK. However, it's still not the most useful message! What should a launchers companion library be called (Yhe Charlotte Bartlett.dll)

So how did you get me in this mess Stanley?

Now the way I got into this mess wasn't so obvious either....

I decided I wanted to play with emf and use the Soyatec eUML2 free editor. This all seems well and fine so I did what they asked and added the Soyatec website to my update site list and tried to install the eUML2 component. Thats when the hell started as I tried to get the right set of dependencies for the soyatec product to work with the other plugins on the Europa Discovery Site and failed over and over on dependencies on gmf and ocl so for example I would get

eUML2 (*.*.*.*) requires feature ***.***.gmf (x.x..xxxx) or compatible.

where x.x..xxxx was a lower version number than the one I already hadinstalled....

More heartache

So having got into dependany hell where did I go next. I remembered that Yoxos/Inoopract has this damn neat Yoxos on demand service and stuff me it does what it says on the jar:

  • it sorted my dependencies like a treat
  • it made me my own custom eclipse which I can go back to
  • it was free
  • Yoxos has its own provisioning which is available inside eclipse and works again like a dream. It resolves dependencies and just making it all work (in actual fact this plug-in appears to be very much related to the online experience which appears to be a RAP version of the Yoxos provisioning plug-in)
so can you see the problem (remembering the problems I discussed above), here is a screen shot of the yoxo online provisioning web app that might give you a clue:

Yep I am Linux_x86_64 whereas the button here is effectively Linux_86. I guess this is something Innoopract/Yoxos need to solve or at least they do need to flag that they don't support x86_64 linux.


So what can we conclude from this trip round the houses?

  • getting the right versions of eclipse plug-ins can still be a hassle even with the update manager and the newest dependency management tools
  • If you have a system which doesn't exactly match the rest of the world (though i might say come on x86_64 isn't that rare ;-) you can easily end up in trouble
  • the best laid plans of mice and men fail especially when you plan to 'just quickly' install a piece of software (alway a bad move)
Random thoughts

  • I suceeded in the end by doing the off-line Soyatec installation which included all the required dependencies at the right version. Heres the picture to prove it:

  • Why is the update manager in the help menu??? It always seemed strange to me; File maybe Window maybe but help no way!!
  • Why doesn't the eclipse Updates window have a maximize button some of the package names are long enough....

    (and yes I know I can expand it it just isn't convenient)

  • why don't I blog more often (no don't ask me to answer that one)

No comments: