Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Platform » 64-bit Solaris Motif - how hard is it going to be?
64-bit Solaris Motif - how hard is it going to be? [message #305023] Wed, 21 June 2006 15:39 Go to next message
Eclipse User
Originally posted by: nick58.nickoh.com

I want to be able to deploy SWT applications on 64-bit
Solaris 9 using Motif. While there is no official binary
distribution for this platform, it appears from the source
that some work has been done to make this possible.

Having spent some time investigating, I was wondering if
someone could verify what I have done so far and provide
an indication of whether it's the case that:

a) I've only scratched the surface of what is required

or

b) I'm nearly there, and should be able to make things work
by doing xxxx

This describes the situation as I see it, please feel free to
make any comments/corrections:

Eclipse programs need some cross-platform jar files from
Eclipse, a platform-specific swt.jar file, and a number of
native shared libraries.

Eclipse does not provide swt.jar or the native shared
libraries for 64-bit Solaris using Motif.

The Eclipse 3.1.2 source code contains source code for the
swt.jar and native libraries for Linux x86 (using GTK) and
Linux x86_64 (using GTK). The Java sources for the two
swt.jar files *only* differed in that there were many
variables/parameters/return types defined as 'int /*long*/'
in the x86 sources and as 'long /*int*/' in the x86_64
sources.

I wrote some perl filters which when run against the 32-bit
Linux GTK Java sources converted them into identical copies
of the 64-bit Linux GTK sources.

(It looks like Eclipse has some sort of master source code
which gets munged into 32-bit or 64-bit sources as
appropriate.)

The Eclipse 3.1.2 Java sources for the Solaris (using Motif)
swt.jar file contained a number of instances of 'int
/*long*/'. However there were several cases where a Linux
had a method declared this way, and Solaris only had a
method declared as 'int'.

The Eclipse 3.1.2 Java sources for Linux using Motif are
defective in the same way.

I munged the Motif SWT sources using the same perl filters
that converted the GTK sources to get "64-bit" sources, and
then built a new swt.jar with them. Using the resulting jar
on a 64bit JVM produced spectacular core dumps, so it looks
like the Motif SWT sources are only partially 64-bit clean.

OTOH the native libraries look far more portable, which
seems quite ironic!

Unfortunately we need to use the Motif SWT libraries because
Sun does not provide GNOME on Solaris 9.

Source code was taken from the 3.1.2 source drop:

../plugins/org.eclipse.swt.gtk.linux.x86/src.zip
../plugins/org.eclipse.swt.motif.linux.x86/src.zip
../plugins/org.eclipse.swt.gtk.linux.x86_64/src.zip
../plugins/org.eclipse.swt.motif.solaris.sparc/src.zip


Chris/Nick
Re: 64-bit Solaris Motif - how hard is it going to be? [message #305028 is a reply to message #305023] Wed, 21 June 2006 16:37 Go to previous messageGo to next message
Paul Webster is currently offline Paul Webster
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

You've found at least part of what needs to be done (certain methods
have to be changed to long /* int */)

I would start with the Source Build for a given version, ex:
http://download.eclipse.org/downloads/drops/R-3.1.2-20060118 1600/download.php?dropFile=eclipse-sourceBuild-srcIncluded-3 .1.2.zip

The source build is usually at the bottom of the Eclipse SDK page that
lists all of the pre-compiled versions of eclipse:

http://download.eclipse.org/downloads/drops/R-3.1.2-20060118 1600/index.php

There are instructions that can help you build for a particular
platform, some suggestions for porting to a new platform, along with
build scripts that at least partly make the 64-bit changes for you.

But you would probably have to update the motif java source to match the
motif 64 bit libraries for solaris.

Later,
PW


Re: 64-bit Solaris Motif - how hard is it going to be? [message #305060 is a reply to message #305023] Thu, 22 June 2006 13:10 Go to previous message
Grant Gayed is currently offline Grant Gayed
Messages: 2151
Registered: July 2009
Senior Member
swt's motif code is not tooled to run on 64-bit arch's. There are a few
places where int /*long*/ appears in swt-motif, usually in certain
components that borrow some implementation from their swt-gtk counterpart,
but the vast majority of the toolkit does not have this. The effort to make
this fully work would be pretty huge (it's much more than running a tool on
the java source and recompiling the libraries), so I would suggest not going
down this path.

I know that you can get 32-bit gtk libraries (and their dependencies) from
sunfreeware.com. Surely there must be something available from somewhere
that will allow you to at least attempt to make the solaris-gtk build run on
64-bit, which has a much better chance of success. Or for that matter, are
you able to upgrade to Solaris 10, since it's now free?

Grant


"exquisitus" <nick58@nickoh.com> wrote in message
news:e7bp7a$p7b$1@utils.eclipse.org...
> I want to be able to deploy SWT applications on 64-bit
> Solaris 9 using Motif. While there is no official binary
> distribution for this platform, it appears from the source
> that some work has been done to make this possible.
>
> Having spent some time investigating, I was wondering if
> someone could verify what I have done so far and provide
> an indication of whether it's the case that:
>
> a) I've only scratched the surface of what is required
>
> or
>
> b) I'm nearly there, and should be able to make things work
> by doing xxxx
>
> This describes the situation as I see it, please feel free to
> make any comments/corrections:
>
> Eclipse programs need some cross-platform jar files from
> Eclipse, a platform-specific swt.jar file, and a number of
> native shared libraries.
>
> Eclipse does not provide swt.jar or the native shared
> libraries for 64-bit Solaris using Motif.
>
> The Eclipse 3.1.2 source code contains source code for the
> swt.jar and native libraries for Linux x86 (using GTK) and
> Linux x86_64 (using GTK). The Java sources for the two
> swt.jar files *only* differed in that there were many
> variables/parameters/return types defined as 'int /*long*/'
> in the x86 sources and as 'long /*int*/' in the x86_64
> sources.
>
> I wrote some perl filters which when run against the 32-bit
> Linux GTK Java sources converted them into identical copies
> of the 64-bit Linux GTK sources.
>
> (It looks like Eclipse has some sort of master source code
> which gets munged into 32-bit or 64-bit sources as
> appropriate.)
>
> The Eclipse 3.1.2 Java sources for the Solaris (using Motif)
> swt.jar file contained a number of instances of 'int
> /*long*/'. However there were several cases where a Linux
> had a method declared this way, and Solaris only had a
> method declared as 'int'.
>
> The Eclipse 3.1.2 Java sources for Linux using Motif are
> defective in the same way.
>
> I munged the Motif SWT sources using the same perl filters
> that converted the GTK sources to get "64-bit" sources, and
> then built a new swt.jar with them. Using the resulting jar
> on a 64bit JVM produced spectacular core dumps, so it looks
> like the Motif SWT sources are only partially 64-bit clean.
>
> OTOH the native libraries look far more portable, which
> seems quite ironic!
>
> Unfortunately we need to use the Motif SWT libraries because
> Sun does not provide GNOME on Solaris 9.
>
> Source code was taken from the 3.1.2 source drop:
>
> ./plugins/org.eclipse.swt.gtk.linux.x86/src.zip
> ./plugins/org.eclipse.swt.motif.linux.x86/src.zip
> ./plugins/org.eclipse.swt.gtk.linux.x86_64/src.zip
> ./plugins/org.eclipse.swt.motif.solaris.sparc/src.zip
>
>
> Chris/Nick
Previous Topic:plugin.xml, object contribution and popup menu
Next Topic:eclipse overwrites new files with old files
Goto Forum:
  


Current Time: Fri Sep 19 16:06:34 GMT 2014

Powered by FUDForum. Page generated in 0.02393 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software