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

Bug 185941

Summary: verify source build on solaris gtk x86
Product: [Eclipse Project] Platform Reporter: Kim Moir <kim.moir>
Component: RelengAssignee: Kim Moir <kim.moir>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: loherweg-eclipse
Version: 3.3Flags: kim.moir: documentation+
Target Milestone: 3.3 RC2   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Kim Moir CLA 2007-05-08 09:04:59 EDT
Olivier has reported that it has problems as of 3.3M7.
Comment 1 Kim Moir CLA 2007-05-08 11:07:21 EDT
I work on a Solaris AMD64 platform and would like to be able to use the latest milestone builds of Eclipse. However, I am having problems using the 3.3M7 source build to build for solaris-gtk-x86 (which is stated as supported in the build instructions). When I look in the build scripts, I'm surprised that the source builds work on any platform! Firstly, the org.eclipse.jdt.compiler.tool package requires JDK 1.6 but the build.xml files in its directory has javacSource="1.3" and javacTarget="1.2"!

Anyway, I did a global find and replace in all *.xml files to make both of these properties have a value of 1.6. After this, all the Java sources appear to compile just fine. Then it breaks when building the SWT native components. This is because the following files are simply missing from plugins/org.eclipse.swt.gtk.solaris.x86/src.zip:

c.c
c.h
c_stats.h
c_stats.c
c_structs.h
c_structs.c

After fixing this (by copying the files from plugins/org.eclipse.swt.gtk.solaris.sparc/src.zip), the SWT native libraries build successfully.

Next the build process aborts when compiling the launcher. This is due to a change in the top level 'build' shell script which says that it accepts a command line parameter specifying the location of a JDK 1.5 installation but then does nothing with it! Looking at the same script from the Eclipse 3.3M6 source build, I see that it used to get passed to the relevant ant script as a Java system property:

-Djava5.home=<JDK 5 home dir>

In fact the usage message of the build shell script is misleading. It implies that you can specify options after the JDK (such as -bc, -compilelibs etc) but it will silently ignore these given that it stops processing command line args after the first input arg not starting with "-". This simply looks like a bug caused by the removal of the -java5home switch for specifying the location of this JDK.

Anyway, after fixing this (by simply using the build shell script from 3.3M6), the Eclipse launcher builds successfully.

Now I get a C compilation error when the build process tries to build liblocalfile and libupdate. This is yet another reason I suspect the source builds do not work on anything but a linux box as the sources for these targets are both linux specific:

plugins/org.eclipse.core.filesystem/natives/unix/linux
plugins/org.eclipse.update.core./linux/src

I deleted these targets from the compilelibs target in the top level build.xml as I do not know how to make them conditional in the ant script.


At this point, the whole build process appears to complete successfully and creates the following file:

result/solaris-gtk-x86-sdk.zip

Just when I thought I'd finished, I unzip this file and try to launch the IDE (by running eclipse/eclipse). I'm immediately greeted by the following pop-up:

"The Eclipse executable launcher was unable to locate its companion shared library"

At this point, I gave up.

I'm wondering if anyone can enlighten me as to why this platform is stated as supported source build (it's listed in the Supported Platforms table included in the source build instructions) even though it clearly isn't.

-Doug 
Comment 2 Kim Moir CLA 2007-05-08 11:08:20 EDT
From jdt newsgroup May 7, 2007
Comment 3 Kim Moir CLA 2007-05-16 17:07:10 EDT
I have updated the source build documentation to reflect that this is not a supported platform. These solaris-gtk-x86 libraries were donated last year ... see bug 170544. Since then they have not been actively maintainted.  The documentation will be updated for the next build the next time I update the builder, probably in a few days.

I have also fixed the issue with Djava5.home=<JDK 5 home dir> in the usage statement.

For the latest supported platforms for 3.3, see http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_3.html#TargetOperatingEnvironments.
Comment 4 Doug Simon CLA 2007-05-29 12:27:57 EDT
It appears as though the changes to the source build documentation have not made it to the public pages. I still see solaris-gtk-x86 as a supported source build for 3.3RC2:

(http://download.eclipse.org/eclipse/downloads/drops/S-3.3RC2-200705251350/srcIncludedBuildInstructions.html)
Comment 5 Kim Moir CLA 2007-05-29 13:30:17 EDT
It looks updated to me :-)

Solaris gtk sparc is listed as in the supported platforms chart.

Solaris gtk x86 is listed in the unsupported platforms chart.

What specific information were you looking for?
Comment 6 Doug Simon CLA 2007-05-29 14:45:16 EDT
My mistake. I didn't see that there are now 2 charts: one for supported platforms and one for unsupported platforms,