64-bit Solaris Motif - how hard is it going to be? [message #305023] |
Wed, 21 June 2006 15:39 |
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 #305060 is a reply to message #305023] |
Thu, 22 June 2006 13:10 |
Grant Gayed Messages: 2150 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
|
|
|
Powered by
FUDForum. Page generated in 0.01833 seconds