Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 429335

Summary: Need 64-bit launcher for Solaris/X86_64
Product: [Eclipse Project] Equinox Reporter: Thorsten Heit <theit>
Component: LauncherAssignee: Arun Thondapu <arunkumar.thondapu>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: arunkumar.thondapu, david_williams, tjwatson
Version: 3.10.0 Luna   
Target Milestone: Neon M7   
Hardware: PC   
OS: Solaris-GTK   
See Also: https://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=fbf4e7bbb85949f0cc7f759254baae0f9b6449c3
https://git.eclipse.org/c/equinox/rt.equinox.binaries.git/commit/?id=c4f456d9b1448ff8b893cb20c421a380454fc4d9
https://git.eclipse.org/c/equinox/rt.equinox.binaries.git/commit/?id=1821d8b35accd0f743ae329f5c0d1a4196356c25
https://git.eclipse.org/r/69542
https://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=16785826eacbec5b188ae385374ae16a6a995bc1
Whiteboard:
Bug Depends on: 429332    
Bug Blocks: 429343    
Attachments:
Description Flags
Patch for enabling 64-bit launcher for Solaris/x86
none
Patch for replacing x86 with x86_64
none
Small patch for eclipse.platform.ui for the 64-bit executable
none
Patch for replacing occurrences of x86 with x86_64
none
Patch to add "-d64" as launcher VM argument
none
patch for rt.equinox.framework to allow for building a native launcher on Solaris x86_64
none
patch for rt.equinox.framework to replace the string "x86" with "x86_64" in the Solaris x86_64 bundles dir
none
Shell script to apply the patches to rt.equinox.framework and rt.equinox.binaries
none
patch for rt.equinox.framework to allow for building a native launcher on Solaris x86_64 (master branch) none

Description Thorsten Heit CLA 2014-02-28 12:27:48 EST
See bug #429332:
Eclipse 4.4M5 for Solaris/x86 doesn't work using the release candidate of the upcoming Java 8 as default JVM. Besides 64-bit SWT libraries we also need a 64-bit launcher executable.

In the bundles subdirectory create a copy of the org.eclipse.equinox.launcher.gtk.solaris.x86 directory:

%> cd bundles
%> cp -pr org.eclipse.equinox.launcher.gtk.solaris.x86 org.eclipse.equinox.launcher.gtk.solaris.x86_64
%> cd org.eclipse.equinox.launcher.gtk.solaris.x86_64


Apply the second patch that basically replaces references to "x86" with "x86_64".
Comment 1 Thorsten Heit CLA 2014-02-28 12:28:42 EST
Created attachment 240406 [details]
Patch for enabling 64-bit launcher for Solaris/x86

These are the changes I made to the rt.equinox.framework files to enable building a 64-bit launcher executable.
Comment 2 Thorsten Heit CLA 2014-02-28 12:29:20 EST
Created attachment 240407 [details]
Patch for replacing x86 with x86_64
Comment 3 Thorsten Heit CLA 2014-02-28 12:34:05 EST
I forgot to mention:
Besides the project rt.equinox.framework I checked out rt.equinox.binaries into the same parent directory and created the following new subdirectory in it:

org.eclipse.equinox.executable/bin/gtk/solaris/x86_64

into which I copied the final executable that I have built.
Comment 4 Thorsten Heit CLA 2014-02-28 12:43:11 EST
Created attachment 240408 [details]
Small patch for eclipse.platform.ui for the 64-bit executable

I don't know exactly whether this is necessary, but I searched the actual source tree for module references to Solaris/X86 and added new entries for Solaris/X86_64.
Comment 5 Thorsten Heit CLA 2014-03-03 07:12:13 EST
Created attachment 240452 [details]
Patch for replacing occurrences of x86 with x86_64
Comment 6 Thorsten Heit CLA 2014-03-03 07:19:52 EST
Created attachment 240453 [details]
Patch to add "-d64" as launcher VM argument

This patch adds the parameter "-d64" to the JVM arguments in eclipse.ini so that the launcher chooses the 64-bit JVM when it is being started. This is necessary at least with Java 7 that contains a 32-bit and a 64-bit JVM.

The actual build 129 of the upcoming Java 8 is delivered as 64-bit only so I wasn't seeing this when testing.

See also my comment #2 in bug #429343
Comment 7 Thorsten Heit CLA 2014-08-18 10:21:06 EDT
Created attachment 246085 [details]
patch for rt.equinox.framework to allow for building a native launcher on Solaris x86_64

This patch is made with "git diff" and contains the changes I made to allow for compiling a native launcher on Solaris x86_64
Source code branch: R4_4_maintenance
Comment 8 Thorsten Heit CLA 2014-08-18 10:23:51 EDT
Created attachment 246086 [details]
patch for rt.equinox.framework to replace the string "x86" with "x86_64" in the Solaris x86_64 bundles dir

This patch replace the string "x86" with "x86_64" in the created bundles/org.eclipse.equinox.launcher.gtk.solaris.x86_64 directory
Source code branch: R4_4_maintenance
Comment 9 Thorsten Heit CLA 2014-08-18 10:31:26 EDT
Created attachment 246088 [details]
Shell script to apply the patches to rt.equinox.framework and rt.equinox.binaries

This shell applies the patches to the submodules rt.equinox.framework and rt.equinox.binaries so that a native launcher for Solaris x86_64 binaries can be compiled. At the end it automatically executes Ant to build the equinox launcher library for Solaris x86_64.

As mentioned in bug #429332:
- The patches themselves were made against the R4_4_maintenance branch.
- The script assumes that the patches reside in the same directory as the script itself.
- Apart from executing the script, there's nothing else to do.
Comment 10 Thorsten Heit CLA 2014-08-19 05:39:20 EDT
Created attachment 246125 [details]
patch for rt.equinox.framework to allow for building a native launcher on Solaris x86_64 (master branch)

This patch is basically the same as the rt.equinox.framework.patch1, but adapted to be applicable to the master branch. The only difference is that in the file <rt.equinox.framework>/features/org.eclipse.equinox.executable.feature/pom.xml from the master branch a whitespace character was removed so that the original patch could not be fully applied.

To have the script use this patch, simply omit the "master-" prefix from the file name, i.e. save it to disc as "rt.equinox.framework.patch1".
Comment 11 Arun Thondapu CLA 2015-08-12 03:56:55 EDT
Thorsten, we're planning to integrate these patches and get an official Solaris x86_64 build soon, would you be able to re-submit the patches on top of the latest master branch, preferably via gerrit? Let me know if you need any help with the same.
Comment 12 Arun Thondapu CLA 2015-10-20 07:39:57 EDT
I've started working on this item but won't be able to complete it in time for M3, planning for early M4...
Comment 13 Arun Thondapu CLA 2015-12-03 05:21:21 EST
(In reply to Arun Thondapu from comment #12)
> I've started working on this item but won't be able to complete it in time
> for M3, planning for early M4...

Moving to M5.
Comment 14 Arun Thondapu CLA 2016-03-15 10:08:05 EDT
Moving to M7 as per bug 429343 comment 43.
Comment 16 Eclipse Genie CLA 2016-03-30 11:58:36 EDT
New Gerrit change created: https://git.eclipse.org/r/69542
Comment 18 Thomas Watson CLA 2016-03-30 12:09:24 EDT
I had to revert the change to rt.equinox.framework to allow the I-Build to proceed.
Comment 19 Arun Thondapu CLA 2016-04-08 16:00:34 EDT
Pushed the 64-bit fragment (that was reverted earlier) once again as https://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=3417fec970e2a6caaf5da93070bd0772e94df9d7
Comment 20 Arun Thondapu CLA 2016-04-20 10:44:15 EDT
Nothing more to be done here.