You are currently browsing the tag archive for the ‘Eclipse’ tag.

Eclipse on Java – the base for much of IBM’s software.

The 64-bit Eclipse 3.4.2 - why 3.4.2 and not 3.5? 3.4.2 was a pre-requirement for some software I intended to install, namely WebSphere Portlet Factory 6.1.5 – I used the Java EE version (as the EE stack is a typical pre-requirement for IBM software):

http://www.eclipse.org/downloads/packages/release/ganymede/sr2

The 64-bit Java – a requirement for Eclipse – I used IBM’s Java 6 64-bit for Linux, obtained internally. If you’re not from IBM or a customer, you may find it from Oracle or elsewhere.

It worked – with two changes in additions to the changes outlined under “Preparation” here.

Chnage #1

Ubuntu 9.10′s embedded web browser was too new for the old 64-bit Eclipse 3.4.2, causing a startup bug to occur.  3.4.2 was however no longer in maintenance (3.4.2 was final) and hence the bug would never be fixed except in 3.5 and beyond. The solution I used was to add the following line to eclipse.ini file in the Eclipse folder:

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner

or else, when the Java is installed and the Eclipse is started, the workspace location specified, it may crash, with the log (from the workspace folder, .metadata/.log) containing:

java.lang.RuntimeException: Widget disposed too early!

and, later in the log:

org.eclipse.swt.SWTError: XPCOM error -2147467262

32-bit Eclipse 3.4.2 and 64-bit Eclipse 3.5 didn’t have this problem on 64-bit Ubuntu 9.10 using 64-bit IBM Java 6, they just worked without any change.

Change #2

Ubuntu 9.10′s graphical framework for Gnome was also too new for the old Eclipse 3.4.2 causing a bug with user interface issues – clicking on a perspective or going through a dialog can appear stalled.  The solution I used was to start Eclipse with the following set:

GDK_NATIVE_WINDOWS=1

(i.e., run in terminal: GDK_NATIVE_WINDOWS=1 ./eclipse – wrap applications in scripts, or set it in $HOME/.bashrc – understand that .bashrc works only for applications launched from the terminal, and that setting it in $HOME/.profile or $HOME/.gnomerc will crash X server.)

My observation using Eclipse-based applications was that they were also more responsive with the change.

At time of writing, Eclipse 3.5.2′s plan is to have this problem fixed (subscribe to the bug if you like) meaning this solution should not be needed for Eclipse 3.5.2 and beyond.

Ben

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 3 other followers

Author

I work in IBM Software Services for WebSphere and Lotus (ISSW and ISSL respectively), who do specialist work for customers. Contact ISSW or ISSL for more details. I can also be contacted through email. Any views here are my own and don’t necessarily represent IBM’s positions, strategies or opinions.
Follow

Get every new post delivered to your Inbox.