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

Bug 332453

Summary: GEF Build does not like latest 3.7 Platform builds
Product: [Tools] GEF Reporter: Anthony Hunter <ahunter.eclipse>
Component: RelEngAssignee: Anthony Hunter <ahunter.eclipse>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: david_williams, irbull, nyssen, tikhomirov.artem
Version: 3.6   
Target Milestone: 3.7.1 (Indigo) M5   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 363394    
Bug Blocks:    

Description Anthony Hunter CLA 2010-12-13 11:59:40 EST
1) Using eclipse-SDK-3.7M4-linux-gtk-x86_64.tar.gz caused a build failure: cannot find org.eclipse.swt

2) Using eclipse-SDK-3.7M4-linux-gtk.tar.gz caused a build failure: cannot run the JUnits.

(2) is expected as modeling.eclipse.org is a 64 bit Linux machine and requires the 64bit Eclipse SDK or the Junit tests will not run.

(1) is not expected. I ran 3.7M4 using the 3.6 Eclipse SDK for now.

The problem is almost definitely related to the fact that we are stuck on using R35_M7 of the Eclipse basebuilder.
Comment 1 Alexander Nyßen CLA 2010-12-13 12:31:08 EST
Basebuilder is no longer supported for PDE builds. We may replace it with a current Eclipse Classic SDK, which bundles the PDE build plug-in as well.
Comment 2 Alexander Nyßen CLA 2010-12-14 03:12:18 EST
By the way, which of the three releng projects (org.eclipse.gef.releng, org.eclipse.releng.gefbuilder, and org.eclipse.gef.athena.releng) is currently in use?
Comment 3 Anthony Hunter CLA 2010-12-14 11:30:11 EST
:extssh:ahunter@dev.eclipse.org:/cvsroot/tools
org.eclipse.gef/org.eclipse.gef.releng

"Basebuilder is no longer supported for PDE builds." is there a document for this information somewhere?
Comment 4 Alexander Nyßen CLA 2010-12-14 11:41:05 EST
(In reply to comment #3)
> :extssh:ahunter@dev.eclipse.org:/cvsroot/tools
> org.eclipse.gef/org.eclipse.gef.releng

Should we move the other projects into the archive then?

> 
> "Basebuilder is no longer supported for PDE builds." is there a document for
> this information somewhere?

I inferred this from Kim's comment to bug #253938, but from what I found via Google it seems as if I didn't get it right and basebuilder is still an option, so I withdraw that statement. Maybe we just have to adopt the 3.6 version then.
Comment 5 Anthony Hunter CLA 2010-12-14 11:58:32 EST
Well something is wrong as the base builder is not tagged with any 3.7 milestone versions. I will look into this further and talk to Kim.
Comment 6 Alexander Nyßen CLA 2010-12-14 12:33:12 EST
(In reply to comment #5)
> Well something is wrong as the base builder is not tagged with any 3.7
> milestone versions. I will look into this further and talk to Kim.

Well, according to http://wiki.eclipse.org/Platform-releng-basebuilder, there should be one...
Comment 7 Anthony Hunter CLA 2010-12-17 17:51:18 EST
I should have noted that I was able to run a GEF build using Basebuilder R37_M4 and eclipse-SDK-3.7M4-linux-gtk-x86_64.tar.gz .
Comment 8 Anthony Hunter CLA 2010-12-22 15:25:25 EST
(In reply to comment #7)
> I should have noted that I was able to run a GEF build using Basebuilder R37_M4
> and eclipse-SDK-3.7M4-linux-gtk-x86_64.tar.gz .

Correction,

I have a 32Bit Ubuntu 10.04 workstation and can run the build successfully using a 32bit JRE, 32 bit Eclipse eclipse-SDK-3.7M4-linux-gtk.tar.gz and Basebuilder R37_M4.

64bit JRE and 64bit eclipse fails with Basebuilder R37_M4.
Comment 9 Alexander Nyßen CLA 2011-01-06 00:45:14 EST
(In reply to comment #8)
> (In reply to comment #7)
> > I should have noted that I was able to run a GEF build using Basebuilder R37_M4
> > and eclipse-SDK-3.7M4-linux-gtk-x86_64.tar.gz .
> 
> Correction,
> 
> I have a 32Bit Ubuntu 10.04 workstation and can run the build successfully
> using a 32bit JRE, 32 bit Eclipse eclipse-SDK-3.7M4-linux-gtk.tar.gz and
> Basebuilder R37_M4.
> 
> 64bit JRE and 64bit eclipse fails with Basebuilder R37_M4.

I noticed that org.eclipse.gef.releng/builder/all/build.properties specifies:

baseos=linux
basews=gtk
basearch=x86

I am not sure if that is directly related to this issue here, but if this build.properties is actually used during the build, I think it would most probably have to be updated to x86_64, right?
Comment 10 Anthony Hunter CLA 2011-01-18 17:26:13 EST
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > I should have noted that I was able to run a GEF build using Basebuilder R37_M4
> > > and eclipse-SDK-3.7M4-linux-gtk-x86_64.tar.gz .
> > 
> > Correction,
> > 
> > I have a 32Bit Ubuntu 10.04 workstation and can run the build successfully
> > using a 32bit JRE, 32 bit Eclipse eclipse-SDK-3.7M4-linux-gtk.tar.gz and
> > Basebuilder R37_M4.
> > 
> > 64bit JRE and 64bit eclipse fails with Basebuilder R37_M4.
> 
> I noticed that org.eclipse.gef.releng/builder/all/build.properties specifies:
> 
> baseos=linux
> basews=gtk
> basearch=x86
> 
> I am not sure if that is directly related to this issue here, but if this
> build.properties is actually used during the build, I think it would most
> probably have to be updated to x86_64, right?

I set to x86_64 and it has had no effect.
Comment 11 Alexander Nyßen CLA 2011-01-18 17:56:00 EST
I have checked out org.eclipse.releng.basebuilder in R37_M4 and it seems that it does not bundle any 64-bit swt fragments but only includes 32-bit swt fragments for win32 and linux-gtk. I suppose that could pretty well be the source for our problem...
Comment 12 Alexander Nyßen CLA 2011-01-18 18:07:57 EST
(In reply to comment #11)
> I have checked out org.eclipse.releng.basebuilder in R37_M4 and it seems that
> it does not bundle any 64-bit swt fragments but only includes 32-bit swt
> fragments for win32 and linux-gtk. I suppose that could pretty well be the
> source for our problem...

There are also no 64-bit launcher fragments in R37_M4. Even while we are not building against basebuilder (as base), I assume this could be problematic on a 64-bit machine using a 64-bit vm.
Comment 13 Alexander Nyßen CLA 2011-01-19 06:48:18 EST
Have you tried to launch the build with a 64-bit 3.7M4 Eclipse SDK instead of the R37_M4 basebuilder? It would help to rule out whether the problem lies within the missing 64-bit launcher and swt fragments.
Comment 14 Anthony Hunter CLA 2011-01-20 11:33:27 EST
(In reply to comment #11)
> I have checked out org.eclipse.releng.basebuilder in R37_M4 and it seems that
> it does not bundle any 64-bit swt fragments but only includes 32-bit swt
> fragments for win32 and linux-gtk. I suppose that could pretty well be the
> source for our problem...

I confirmed that the x86_64 swt and launcher were not in the R37_M4 basebuilder. They were not in the R35_RC4 basebuilder that works either.

I did some more searching and found everywhere that referenced x86 and replaced it with x86_64.

I also cached a copy of the R37_M4 basebuilder and added in the missing x86_64 swt and launcher that were missing. Confirmed with Kim Moir that is all we should need to do.

The build copied over this config, you see in the build:
[start] [17:12:14] Export org.eclipse.releng.basebuilder using R37_M4
[start] Copy /home/www-data/build/org.eclipse.releng.basebuilder_R37_M4.
          to /home/www-data/build/gef/downloads/drops/3.7.0/N201101191712/org.eclipse.releng.basebuilder ...

So I know the build is using the basebuilder I fixed, but the build still fails with the exact same cannot find SWT errors.

I discovered another place to search for messages, turns out there is a /home/www-data/workspace/.metadata/.log with messages to investigate.
Comment 15 Anthony Hunter CLA 2011-01-20 11:35:07 EST
(In reply to comment #13)
> Have you tried to launch the build with a 64-bit 3.7M4 Eclipse SDK instead of
> the R37_M4 basebuilder? It would help to rule out whether the problem lies
> within the missing 64-bit launcher and swt fragments.

I thought this would be a better approach. I pinged Kim Moir and she confirmed that some teams are using the SDK and not the basebuilder.

I have a working 32bit build machine. I am going to take the perfectly fine, working 32bit build and swap out the basebuilder and get it working on 32bit. Then we can do the same for 64bit on the build machine.
Comment 16 David Williams CLA 2011-01-20 11:40:58 EST
I'm probably missing something by skim reading ... but why is it so important to you to use a 64 bit VM and Eclipse? I think many people use at 32 bit VM and Eclipse on the 64 bit build machines ... I'm wondering what they are missing? Or ... do you just enjoy pushing the envelope? :)
Comment 17 Anthony Hunter CLA 2011-01-20 12:30:27 EST
This goes back to Bug 253114
We had to do this to get the JUnit tests to work.
Maybe we were wrong.
Comment 18 David Williams CLA 2011-01-20 13:19:06 EST
(In reply to comment #17)
> This goes back to Bug 253114
> We had to do this to get the JUnit tests to work.
> Maybe we were wrong.

Oh, maybe its one of those special things about "modeling build" :) ... or (more likely) a special thing about GEF tests? In either case, thanks. Good luck! (Just trying to help ... but I do not know enough about "modeling build".)
Comment 19 Anthony Hunter CLA 2011-01-26 11:05:12 EST
Hi again, did not get much of a chance to work on this last week but here is the latest:

As I said earlier, 

> (In reply to comment #7)
> I have a 32Bit Ubuntu 10.04 workstation and can run the build successfully
> using a 32bit JRE, 32 bit Eclipse eclipse-SDK-3.7M4-linux-gtk.tar.gz and
> Basebuilder R37_M4.
> 
> 64bit JRE and 64bit eclipse fails with Basebuilder R37_M4.

I have fixed my IBM build machine to use the 3.7M4 SDK rather than base builder and it works perfectly.

Now that I know how the 3.7M4 SDK work, I will try the same thing on modeling.eclipse.org with the 3.7M4 64bit SDK and see if that works.

If that fails I am going to take a run at making the build on modeling.eclipse.org just use the 32bit versions of everything, since we know it works and that seems like what others are using.

BTW, I am going to run an integration build right away using the 3.6 configuration that works, just without the JUnit tests. I will promote this so we can test as Alexander has requested.
Comment 20 Anthony Hunter CLA 2011-01-26 11:21:38 EST
I promoted the successful integration build 3.7.0/I201101261106 . It will be on the downloads site in the next 60 minutes or so.
Comment 21 Anthony Hunter CLA 2011-01-26 15:13:15 EST
(In reply to comment #17)
> This goes back to Bug 253114
> We had to do this to get the JUnit tests to work.
> Maybe we were wrong.

Yes, apparently we were wrong.

I updated the build scripts to use x86 rather than x86_64.
I also moved the JRE back to the /opt/sun-java2-5.0 (jdk1.5.0_16) used successfully by the other modeling builds.
I used the eclipse-SDK-3.7M4-linux-gtk.tar.gz as well as the R37_M4 basebuilder.

We are now getting successful GEF builds again.

I have promoted the successful 3.7.0/I201101261449 build so we can test.

I am resolving this Bug since we now have working GEF builds on two build machines.
Comment 22 Anthony Hunter CLA 2011-09-01 15:18:15 EDT
(In reply to comment #21)
> (In reply to comment #17)
> > This goes back to Bug 253114
> > We had to do this to get the JUnit tests to work.
> > Maybe we were wrong.
> 
> Yes, apparently we were wrong.
> 
> I updated the build scripts to use x86 rather than x86_64.
> I also moved the JRE back to the /opt/sun-java2-5.0 (jdk1.5.0_16) used
> successfully by the other modeling builds.
> I used the eclipse-SDK-3.7M4-linux-gtk.tar.gz as well as the R37_M4
> basebuilder.
> 
> We are now getting successful GEF builds again.
> 
> I have promoted the successful 3.7.0/I201101261449 build so we can test.
> 
> I am resolving this Bug since we now have working GEF builds on two build
> machines.

Actually, we need to keep this open as we are currently stuck on the R37_M4 basebuilder. We should at minimum be on the 3.7 GA basebuilder or one of the newer 3.8/4.2 basebuilders.
Comment 23 Alexander Nyßen CLA 2012-01-02 18:03:55 EST
This will be obsolete when we have put the new Tycho-based build infrastructure live (see bug #363394).
Comment 24 Alexander Nyßen CLA 2012-01-19 16:41:12 EST
As the old build system has been replaced (see bug #363394), this no longer holds.