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

Bug 256459

Summary: Start building 64-bit cocoa
Product: [Eclipse Project] Platform Reporter: Kevin Barnes <cocoakevin>
Component: RelengAssignee: Kim Moir <kim.moir>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: acambrell+eclipsebugs, aniefer, antoine, grant_gayed, heath.borders, kim.moir, renanse, Silenio_Quarti, skovatch, snorthov
Version: 3.5   
Target Milestone: 3.5 M4   
Hardware: PC   
OS: Mac OS X   
Whiteboard:
Bug Depends on: 255687    
Bug Blocks: 239301    
Attachments:
Description Flags
patch
none
other patchs
none
patch
none
patch
none
maser root patch
none
changes to rcp feature
none
director log
none
log
none
metadata.generator jar
none
log
none
patch none

Description Kevin Barnes CLA 2008-11-25 11:35:15 EST
We'd like to add 64-bit cocoa builds to the regular schedule.
The SWT fragment (org.eclipse.swt.cocoa.macosx.x86_64) is in HEAD, tagged and ready to go. 
Andrew will have a launcher released soon (see bug 255687).
Comment 1 Andrew Niefer CLA 2008-11-25 18:00:39 EST
The launcher fragment org.eclipse.equinox.launcher.cocoa.macosx.x86_64 is in cvs, tagged and added to the map file.

Kim, the features including both the swt and launcher fragments don't specify an arch for the 32 bit version (since they work on both x86 and ppc and lists aren't supported).  I'm not sure what will happen when we add x86_64.  If we are lucky, things would just work, however there is a chance of build breakage, or of the 32 bit ones showing up in the x86_64 zip.  We might want to change the features to include the 32 bit versions twice:
<include plugin="org.eclipse.swt.cocoa.macosx" ... arch="x86" />
<include plugin="org.eclipse.swt.cocoa.macosx" ... arch="ppc" />
<include plugin="org.eclipse.swt.cocoa.macosx.x86_64" ... arch="x86_64" />
Comment 2 Kim Moir CLA 2008-11-27 12:11:52 EST
Created attachment 118931 [details]
patch
Comment 3 Kim Moir CLA 2008-11-28 15:47:44 EST
Ran a test build today and encountered into some issues, still investigating.
Comment 4 Kim Moir CLA 2008-11-28 17:16:20 EST
Created attachment 119059 [details]
other patchs
Comment 5 Kim Moir CLA 2008-11-28 17:32:26 EST
Created attachment 119060 [details]
patch

The test build failed with this

!MESSAGE Unsatisfied dependency: [org.eclipse.platform.feature.group 3.5.0.N20081128-0951-9M9SGC9FQEmMMjtsiiWkFHqkU3pYfOyf6CG43] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.equinox.security.macosx/[1.0.100.N20081128-0951,1.0.100.N20081128-0951]
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2008-11-28 15:54:06.964
!MESSAGE Unsatisfied dependency: [org.eclipse.platform.feature.group 3.5.0.N20081128-0951-9M9SGC9FQEmMMjtsiiWkFHqkU3pYfOyf6CG43] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.core.filesystem.macosx/[1.0.0.N20081128-0951,1.0.0.N20081128-0951]
~

The org.eclipse.core.filesystem.macosx fragment and equinox.security.macosx fragments in platform feature need to specify their arches, for both x86 and ppc, so the dependancies are satisfied when provisioning.  Also, should the manifest for these fragments now include x86_64?
Comment 6 Andrew Niefer CLA 2008-11-28 17:53:31 EST
(In reply to comment #5)
> 
> The org.eclipse.core.filesystem.macosx fragment and equinox.security.macosx
> fragments in platform feature need to specify their arches, for both x86 and
> ppc, so the dependancies are satisfied when provisioning.  Also, should the
> manifest for these fragments now include x86_64?
> 

These fragments will need to compile new x86_64 versions before they can add it to the manifest.  It is possible for these fragments to contain 1 library that will work on all 3 platforms, or the fragment could contain 2 libraries, one for x86/ppc and the other for x86_64.
Comment 7 Kim Moir CLA 2008-12-01 08:07:20 EST
Just started another test build.
Comment 8 Kim Moir CLA 2008-12-01 12:26:18 EST
Created attachment 119177 [details]
patch
Comment 9 Kim Moir CLA 2008-12-01 17:19:38 EST
Created attachment 119214 [details]
maser root patch
Comment 10 Kim Moir CLA 2008-12-01 20:18:53 EST
Created attachment 119228 [details]
changes to rcp feature
Comment 11 Kim Moir CLA 2008-12-02 07:55:36 EST
Created attachment 119261 [details]
director log

Andrew, I'm still having problems building the macosx.cocoa.x86_64 drops.  Here is the the log from the nightly build.   Any suggestions?

!ENTRY org.eclipse.equinox.p2.director 4 0 2008-12-01 22:55:13.372
!MESSAGE Problems resolving provisioning plan.
!SUBENTRY 1 org.eclipse.equinox.p2.director 2 0 2008-12-01 22:55:13.373
!MESSAGE Unable to satisfy dependency from org.eclipse.platform.sdk 3.5.0.N20081201-2011 to requiredCapability: toolingorg.eclipse.platform.sdk/org.eclipse.platform.sdk.config/[3.5.0.N20081201-2011,3.5.0.N20081201-2011].
!SUBENTRY 1 org.eclipse.equinox.p2.director 2 0 2008-12-01 22:55:13.373
!MESSAGE Unable to satisfy dependency from org.eclipse.platform.sdk.launcher.cocoa.macosx.x86_64 3.5.0.N20081201-2011 to requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.equinox.launcher.cocoa.macosx/0.0.0.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2008-12-01 22:55:13.374
!MESSAGE No solution found because the problem in /tmp/p2Encoding54380.opb is unsatisfiable.
Comment 12 Kim Moir CLA 2008-12-04 07:39:29 EST
Created attachment 119494 [details]
log

I ran another test build again because I thought the issue where the simple.configurator required 3.4.0 of equinox.common might be the problem (this was moved to 3.5.0) on Tuesday.  Anyways, the same result occurred.  Andrew, do you have any suggestions on how to address this issue so the director will provision the macosx.cocoa.x86_64 bits correctly? The launchers appear to be specified correctly in the the rcp feature and their manifests look good in cvs.

The build dir is
/builds/N200812031031/

The repo is /builds/transfer/files/testUpdates-N on eclipsebuildserv.
Comment 13 Andrew Niefer CLA 2008-12-04 11:12:57 EST
Created attachment 119519 [details]
metadata.generator jar

There is a bug in the metadata generator which causes it to generate unsatisfiable metadata in this case.  I have fixed it in HEAD, here is a jar you can try in your basebuilder.
Comment 14 Kim Moir CLA 2008-12-04 14:05:46 EST
Thanks Andrew, I'll start another test build shortly with the new generator + the latest bundles from this week's i-build.
Comment 15 Kim Moir CLA 2008-12-04 19:52:57 EST
Created attachment 119576 [details]
log

Andrew, still seem to be having problems with the current test build with new I-build bundles plus metadata.generator jar.

build is /builds/N200812041539 same repo as before
Comment 16 Kim Moir CLA 2008-12-05 15:46:42 EST
Created attachment 119665 [details]
patch

The latest problem was due to a typo in the build.properties for the master-root feature.  Running another test build now.
Comment 17 Kim Moir CLA 2008-12-05 17:45:16 EST
Released changes for tonight's build and tagged the features for Sunday's integration build. Kevin, please verify the content is as expected

Comment 18 Kim Moir CLA 2008-12-05 17:45:44 EST
I should have said, that the test build was successful in the earlier comment.
Comment 19 Kevin Barnes CLA 2008-12-05 18:17:09 EST
>Kevin, please verify the content is as expected
Where is the build?
Comment 20 Andrew Niefer CLA 2008-12-05 18:35:38 EST
I think this is it
http://eclipsebuildserv/downloads/bogus/downloads/drops/N20081205-1540/index.php
Comment 21 Kevin Barnes CLA 2008-12-06 10:14:30 EST
A bug in our build file meant our "int /*long*/" weren't getting converted to "long /*int*". I've updated the build file. I'll test some more this afternoon.
Comment 22 Kevin Barnes CLA 2008-12-07 09:43:20 EST
Eclipse.app is missing its icon and I get a ClassNotFoundException when launching

java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:547)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:505)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1237)
Comment 23 Kevin Barnes CLA 2008-12-08 17:30:50 EST
I20081208-1351 looks good.
Comment 24 Kim Moir CLA 2008-12-08 17:41:35 EST
closing.