GoogleCodeArchive / piccolo2d

Automatically exported from code.google.com/p/piccolo2d
0 stars 0 forks source link

Update SWT dependency version #126

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Comments in Issue 43 and Issue 125 suggest we should move to a more recent
version of the SWT dependencies.

Original issue reported on code.google.com by heue...@gmail.com on 18 Sep 2009 at 6:32

GoogleCodeExporter commented 9 years ago
I will really vote for moving to latest swt though I haven't found swt 3.5 in 
maven
repos but I haven't looked a lot.
Even moving to the one I found 3.3 is better than depending on a ~5 years old
prerelease version, because m8 is Milestone 8 which was not even supposed to 
contain
the swt 3 stable API.

Original comment by akurta...@gmail.com on 18 Sep 2009 at 7:47

GoogleCodeExporter commented 9 years ago
With the current SWT dependency version on svn trunk, none of the classes in the
swt-examples module will run on x86_64 gtk linux:

$ java -classpath
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar
edu.umd.cs.piccolox.swt.examples.SWTBenchTest
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3044 in
java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:100)
        at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
        at org.eclipse.swt.widgets.Widget.<clinit>(Widget.java:66)
Could not find the main class: edu.umd.cs.piccolox.swt.examples.SWTBenchTest. 
Program will exit.

Original comment by heue...@gmail.com on 15 Oct 2009 at 1:35

GoogleCodeExporter commented 9 years ago
The following patch updates the SWT dependency version to 3.3.0-v3346, the most
recent version I could find in the maven central repository.  I've added 
profiles to
the swt pom.xml for gtk linux x86_64, carbon mac os x, and win32 x86.

I've only tested gtk linux x86_64 so far.  The build works and the swt examples 
start
up ok.  If you click the mouse in the swt canvas, the following exception is 
thrown:

$ java -classpath
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar
edu.umd.cs.piccolox.swt.examples.SWTHelloWorld
Exception in thread "main" java.lang.StackOverflowError
        at edu.umd.cs.piccolox.swt.SWTTimerQueue.sharedInstance(SWTTimerQueue.java:69)
        at edu.umd.cs.piccolox.swt.SWTTimer.timerQueue(SWTTimer.java:122)
        at edu.umd.cs.piccolox.swt.SWTTimer.isRunning(SWTTimer.java:257)
        at edu.umd.cs.piccolox.swt.SWTTimerQueue.containsTimer(SWTTimerQueue.java:216)
        at edu.umd.cs.piccolox.swt.SWTTimer.isRunning(SWTTimer.java:257)
        at edu.umd.cs.piccolox.swt.SWTTimerQueue.containsTimer(SWTTimerQueue.java:216)
        at edu.umd.cs.piccolox.swt.SWTTimer.isRunning(SWTTimer.java:257)
...

Original comment by heue...@gmail.com on 15 Oct 2009 at 1:53

Attachments:

GoogleCodeExporter commented 9 years ago
Same behavior on windows.

Original comment by heue...@gmail.com on 15 Oct 2009 at 2:07

GoogleCodeExporter commented 9 years ago
On Mac OS X PPC

$ uname -a
Darwin xxx.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:57:01 PDT 
2009;
root:xnu-1228.15.4~1/RELEASE_PPC Power Macintosh

$ java -version
java version "1.5.0_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-b02-315)
Java HotSpot(TM) Client VM (build 1.5.0_20-141, mixed mode, sharing)

SWTHelloWorld and SWTBasicExample throw an exception:

$ java -classpath
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar
edu.umd.cs.piccolox.swt.examples.SWTBasicExample
Exception in thread "Thread-29" org.eclipse.swt.SWTException: Failed to execute
runnable (org.eclipse.swt.SWTException: Invalid thread access)
    at org.eclipse.swt.SWT.error(SWT.java:3563)
    at org.eclipse.swt.SWT.error(SWT.java:3481)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3212)
    at org.eclipse.swt.widgets.Display.observerProc(Display.java:2849)
Caused by: org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(SWT.java:3563)
    at org.eclipse.swt.SWT.error(SWT.java:3481)
    at org.eclipse.swt.SWT.error(SWT.java:3452)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:672)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:334)
    at org.eclipse.swt.widgets.Control.redraw(Control.java:2263)
    at edu.umd.cs.piccolox.swt.PSWTCanvas.repaint(PSWTCanvas.java:541)
    at edu.umd.cs.piccolo.PCamera.repaintFrom(PCamera.java:182)
    at edu.umd.cs.piccolo.PNode.repaint(PNode.java:2621)
    at edu.umd.cs.piccolo.PNode.validateFullPaint(PNode.java:2601)
    at edu.umd.cs.piccolo.PNode.validateFullPaint(PNode.java:2609)
    at edu.umd.cs.piccolo.PRoot.processInputs(PRoot.java:328)
    at edu.umd.cs.piccolox.swt.PSWTRoot$1.run(PSWTRoot.java:76)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    ... 2 more

SWTBenchTest runs ok, but the window is never visible.

$ java -classpath
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar
edu.umd.cs.piccolox.swt.examples.SWTBenchTest
BENCHMARKING:
edu.umd.cs.piccolox.swt.SWTGraphics2D[font=null,color=java.awt.Color[r=0,g=0,b=0
]]
Context: normal
Test: line
Shapes per second: 3240
Test: rect
...

Original comment by heue...@gmail.com on 15 Oct 2009 at 2:22

GoogleCodeExporter commented 9 years ago
Fixed stack overflow exception.

Following profile works for gtk_linux_x86_32 for me:

<profile>
      <id>gtk_linux_x86_32</id>
      <activation>
        <os>
          <name>linux</name>
        </os>
      </activation>
      <properties>
        <swt.groupId>org.eclipse.swt.gtk.linux</swt.groupId>
        <swt.artifactId>x86</swt.artifactId>
        <swt.version>3.3.0-v3346</swt.version>
      </properties>
    </profile>

Original comment by allain.lalonde on 15 Oct 2009 at 2:32

GoogleCodeExporter commented 9 years ago
Attaching new version of patch which works for me on gtk linux x86

$ uname -a
Linux ubuntu-desktop 2.6.28-15-generic #52-Ubuntu SMP Wed Sep 9 10:49:34 UTC 
2009
i686 GNU/Linux

The java system property os.arch is reported as "i386".

Original comment by heue...@gmail.com on 15 Oct 2009 at 2:56

Attachments:

GoogleCodeExporter commented 9 years ago
Tested and works for me on

gtk linux x86_64
gtk linux amd64
gtk linux x86
gtk linux i386
windows x86

Mac on PPC still broken as reported above, Mac on Intel not yet tested.

$ svn commit -m "Issue 126 ; updating swt dependency version to 3.3.0-v3346, 
adding
os profiles to select platform-specific version of swt dependency" .
Sending        swt/pom.xml
Transmitting file data .
Committed revision 724.

It would be great if we could upgrade further to say a 3.5 version of SWT.  
Might
have to resort to local repository installation for that, unless an external 
maven
repository could be found.

One additional thing to check is that this builds and runs properly on a 1.4 
version
of the JDK.  Piccolo2D is still 1.4-compatible, and if at some point the SWT
dependency requires 1.5 or later, that would be a problem.

Original comment by heue...@gmail.com on 15 Oct 2009 at 3:17

GoogleCodeExporter commented 9 years ago
Heh, that last thing might be more fun than I was looking for:

$ java -version
java version "1.4.2_18"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_18-b06)
Java HotSpot(TM) Client VM (build 1.4.2_18-b06, mixed mode)

$ mvn install
Java specification version: 1.4
This release of Maven requires Java version 1.5 or greater.

Original comment by heue...@gmail.com on 15 Oct 2009 at 3:22

GoogleCodeExporter commented 9 years ago
$ uname -a
Darwin Freyr.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 
2009; root:xnu-
1456.1.25~1/RELEASE_I386 i386

$ java -version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

java -classpath 
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar 
edu.umd.cs.piccolox.swt.examples.SWTHelloWorld
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-carbon-3346 
or swt-carbon in 
swt.library.path, java.library.path or the jar file
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
    at org.eclipse.swt.internal.C.<clinit>(C.java:21)
    at org.eclipse.swt.widgets.Display.createDisplay(Display.java:943)
    at org.eclipse.swt.widgets.Display.create(Display.java:937)
    at org.eclipse.swt.graphics.Device.<init>(Device.java:119)
    at org.eclipse.swt.widgets.Display.<init>(Display.java:749)
    at org.eclipse.swt.widgets.Display.<init>(Display.java:740)
    at edu.umd.cs.piccolox.swt.examples.SWTHelloWorld.main(SWTHelloWorld.java:78)

Original comment by she...@gmail.com on 15 Oct 2009 at 4:26

GoogleCodeExporter commented 9 years ago
a "mvn test" on OSX 10.5.8 and java 1.5 against r814 gives on the terminal:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running edu.umd.cs.piccolox.swt.PSWTCanvasTest
/bin/sh: line 1: 13549 Segmentation fault      
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin/java -jar 
/var/folders/Db/DbyY+jnmE5WxYzhziUI6xk+++TI/-Tmp-/surefirebooter8685185704874463
866.jar 
/var/folders/Db/DbyY+jnmE5WxYzhziUI6xk+++TI/-Tmp-/surefire5914287589753915066tmp

/var/folders/Db/DbyY+jnmE5WxYzhziUI6xk+++TI/-Tmp-/surefire5104300702455126034tmp

plus a funny core dump (see file)

Original comment by mr0...@mro.name on 24 Oct 2009 at 1:46

Attachments:

GoogleCodeExporter commented 9 years ago
Just noticed that explicit versions were missing for the win32 and macosx 
platform
dependencies.

Please ignore the referred to hack for now.  ;)

$ svn commit -m "Issue 126 ; adding explicit versions for macosx and win32 x86 
deps,
which were missing before; also adding hack for 3.5.0 dep versions, abusing
an Apache SVN web interface URL as an external maven repo"
Sending        swt/pom.xml
Transmitting file data .
Committed revision 817.

Original comment by heue...@gmail.com on 24 Oct 2009 at 2:44

GoogleCodeExporter commented 9 years ago
Mac OSX PPC and java 1.5 still gives me the SWTException even with a dependency
version of 3.5.0..., although now on mvn test, since SWT unit tests were added.

Exception in thread "Thread-29" org.eclipse.swt.SWTException: Failed to execute
runnable (org.eclipse.swt.SWTException: Invalid thread access)

We must have a threading issue in PSWTRoot that only manifests itself on this
platform.  Curious that I get a SWTException and Marcus gets a seg fault.

Original comment by heue...@gmail.com on 24 Oct 2009 at 4:44

GoogleCodeExporter commented 9 years ago
Raising a separate issue (Issue 143) for PSWTCanvasTest unit test failures on 
Mac OSX.

Original comment by heue...@gmail.com on 27 Oct 2009 at 1:09

GoogleCodeExporter commented 9 years ago
From the OS X / jdk 1.5 side, I'd say "Fixed + Verified".

Original comment by mr0...@mro.name on 29 Oct 2009 at 12:06

GoogleCodeExporter commented 9 years ago
testPanEventListenerIsInstalledByDefault(edu.umd.cs.piccolox.swt.PSWTCanvasTest)
  Time elapsed: 0.023 sec  
<<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class 
org.eclipse.swt.internal.cocoa.OS
        at org.eclipse.swt.internal.cocoa.NSThread.isMainThread(Unknown Source)
        at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
        at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
        at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
        at org.eclipse.swt.widgets.Display.getDefault(Unknown Source)
        at edu.umd.cs.piccolox.swt.PSWTCanvasTest.setUp(PSWTCanvasTest.java:49)
        at junit.framework.TestCase.runBare(TestCase.java:128)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(Abstra
ctDirectoryTestSuite.java:14
0)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirec
toryTestSuite.java:127)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
        at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

Original comment by she...@gmail.com on 29 Oct 2009 at 2:32

GoogleCodeExporter commented 9 years ago
Perhaps we need to solve the following problem:

http://www.eclipse.org/swt/faq.php

Q: Why do I get an UnsatisfiedLinkError when launching from the 32-bit Cocoa or
Carbon port?
    A: You need to be sure that you are forcing your launch to use a 32-bit VM. Apple
ships most of their VMs with 32 and 64-bit binaries. To force the VM to run in 
32-bit
mode, use the -d32 option as VM argument in your launch configuration. Note 
that as
of Snow Leopard (OS X v10.6) the default VM is 64-bit. 
Q: Why do I get an UnsatisfiedLinkError when launching from the 64-bit Cocoa 
port?
    A: You need to be sure that you are forcing your launch to use a 64-bit VM. Apple
ships most of their VMs with 32 and 64-bit binaries. To force the VM to run in 
64-bit
mode, use the -d64 option as VM argument in your launch configuration.

    If you are launching with SWT from CVS in your workspace (see How to use SWT from
CVS, use .classpath_cocoa as the .classpath file in the org.eclipse.swt project 
and
make sure you have the org.eclipse.swt.cocoa.maxosx.x86_64 project in your
workspace), then you also need to modify the .classpath file as follows:

             attribute value="org.eclipse.swt.cocoa.macosx"

    change to:

             attribute value="org.eclipse.swt.cocoa.macosx.x86_64"

Original comment by heue...@gmail.com on 29 Oct 2009 at 2:55

GoogleCodeExporter commented 9 years ago
Please try r855, that should have rolled back behavior to r842.

Original comment by heue...@gmail.com on 29 Oct 2009 at 2:59

GoogleCodeExporter commented 9 years ago
confirmed. Great. Don't touch. LOL

Original comment by mr0...@mro.name on 29 Oct 2009 at 3:01

GoogleCodeExporter commented 9 years ago
Running edu.umd.cs.piccolox.swt.PSWTTextTest
2009-10-28 22:02:12.217 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100113b20 of class 
NSCFString autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.221 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x10011b380 of class 
NSCFNumber autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.222 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100120e60 of class 
NSCFString autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.230 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100129150 of class 
NSCFNumber autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.231 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100129b90 of class 
NSConcreteValue autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.231 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x101523720 of class 
NSCFNumber autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.232 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100129da0 of class 
NSConcreteValue autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.233 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x101544700 of class 
NSCFDictionary autoreleased with no pool in place - just leaking
2009-10-28 22:02:12.235 java[17996:1303] *** __NSAutoreleaseNoPool(): Object 
0x100129120 of class 
NSCFNumber autoreleased with no pool in place - just leaking

and a million more...

Original comment by she...@gmail.com on 29 Oct 2009 at 3:03

GoogleCodeExporter commented 9 years ago
All right, so macosx-cocoa-intel does work with a SWT 3.5.1 cocoa-macosx-x86_64
download, if you set MAVEN_OPTS to explicitly use the 64-bit JVM:

$ export MAVEN_OPTS="-Dd64"

Spits out a bunch of leaking warnings as above though.

Original comment by heue...@gmail.com on 29 Oct 2009 at 3:05

GoogleCodeExporter commented 9 years ago
As of r856, which contains a dependency version range specifier, [3.3.0-v3346,) 
works
for me on

Windows

 * with version 3.3.0-v3346 downloaded from maven central repo
 * with version 3.5.1 downloaded from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.win32.win32 
-DartifactId=x86
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

Linux GTK 32-bit, open-jdk 1.6

 * with version 3.3.0-v3346 downloaded from maven central repo
 * with version 3.5.1 downloaded from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.gtk.linux -DartifactId=x86
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

Linux GTK 64-bit, sun-jdk 1.6

 * with version 3.3.0-v3346 downloaded from maven central repo
 * with version 3.5.1 downloaded from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.gtk.linux 
-DartifactId=x86_64
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

Mac OSX Carbon PPC, Apple JDK 1.5

With version 3.3.0-v3346 downloaded from maven central repo, tests pass.  
Running
example fails with SWTException:

$ mvn install
$ cd swt-examples
$ mvn assembly:assembly
$ java -jar target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar

...org.eclipse.swt.SWTException: Failed to execute runnable
(org.eclipse.swt.SWTException: Invalid thread access)

With version 3.5.1 downloaded from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.carbon -DartifactId=macosx
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

Tests pass, example throws SWTException:

$ java -jar target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar

...org.eclipse.swt.SWTException: Failed to execute runnable
(org.eclipse.swt.SWTException: Invalid thread access)

Mac OSX Cocoa PPC, Apple JDK 1.5

There are no versions 3.3.0-v3346 or later of org.eclipse.swt.cocoa:macosx 
available
on maven central repo.

After enabling the profile macosx_cocoa_ppc in swt/pom.xml, version 3.5.1 
downloaded
from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.gtk.linux 
-DartifactId=x86_64
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

Tests pass.  Running example results in leak warnings as above, then CPU 
appears to
lock up, fans go nuts, no window appears.

Mac OSX Carbon Intel, Apple JDK 1.5

 * with version 3.3.0-v3346 downloaded from maven central repo, according to comment
#19 above

(need to test running examples)

Mac OSX Carbon Intel, Apple JDK 1.6

(need to test)

Mac OSX Cocoa Intel, Apple JDK 1.6

There are no versions 3.3.0-v3346 or later of org.eclipse.swt.cocoa:macosx 
available
on maven central repo.

After enabling the profile macosx_cocoa_intel in swt/pom.xml, version 3.5.1
downloaded from http://eclipse.org/swt and installed via

$ mvn install:install-file -DgroupId=org.eclipse.swt.cocoa -DartifactId=macosx
-Dversion=3.5.1 -Dpackaging=jar -Dfile=swt.jar

$ export MAVEN_OPTS="-Dd64"
$ mvn install

Tests pass.  Running example results in leak warnings as above, then CPU 
appears to
lock up, fans go nuts, no window appears.

Tests fail without MAVEN_OPTS setting, as in comment #16.

So in summary, not much progress.

Original comment by heue...@gmail.com on 29 Oct 2009 at 4:57

GoogleCodeExporter commented 9 years ago
From

http://eclipse.org/swt/macosx/

"The special VM option -XstartOnFirstThread is required for SWT applications to 
run
properly on the Mac."

WTF.

$ java -XstartOnFirstThread -jar
target/piccolo2d-swt-examples-1.3-SNAPSHOT-jar-with-dependencies.jar

works for me on Mac OSX Carbon PPC versions 3.3.0-v3346 and 3.5.1 and Mac OSX 
Cocoa
PPC version 3.5.1.

Original comment by heue...@gmail.com on 29 Oct 2009 at 5:13

GoogleCodeExporter commented 9 years ago
Almost there.

At swt/pom.xml r858, we're good on everything but Mac OSX x86_64, Apple JDK 
1.6. 
Version 3.3.0-v3346 fails unit tests, with

java.lang.NoClassDefFoundError: Could not initialize class
org.eclipse.swt.internal.carbon.OS

Regardless of

MAVEN_OPTS="-Dd32"
MAVEN_OPTS="-Dd64"

If the macosx_cocoa_intel profile is enabled, and version cocoa 3.5.1 manually
installed, tests pass and examples run.

Should this profile always be enabled for <name>mac os x</name> and
<arch>x86_64</arch>?  That would force Mac OSX x86_64, Apple JDK 1.6 and Mac OSX
x86_64, Apple JDK 1.5 users to manually install cocoa 3.5.1 in order to build 
Piccolo2D.

Original comment by heue...@gmail.com on 29 Oct 2009 at 5:51

GoogleCodeExporter commented 9 years ago
Now only Mac OSX x86_64, Apple JDK 1.6 should have to manually install cocoa 
3.5.1 in
order to build Piccolo2D.  Marking as Fixed.

Documentation on -d64, -XstartOnFirstThread and MAVEN_OPTS="-Dd64" configuration
needs to go somewhere.

$ svn commit -m "Issue 126 ; adding separate profiles macosx_carbon_x86_64 for 
jdk
1.5 and macosx_cocoa_x86_64 for jdk 1.6+"
...
Committed revision 865.

Original comment by heue...@gmail.com on 30 Oct 2009 at 2:51

GoogleCodeExporter commented 9 years ago
Seems like <jdk> and <os> activation settings cannot be combined.

$ mvn help:active-profiles

Active Profiles for Project 'org.piccolo2d:piccolo2d-swt:bundle:1.3-SNAPSHOT':

The following profiles are active:

 - gtk_linux_i386 (source: pom)
 - macosx_cocoa_x86_64 (source: pom)

Rolling back r865 and moving to Started.

$ svn merge -r 865:864 swt/pom.xml swt/pom.xml
--- Reverse-merging r865 into 'pom.xml':
U    pom.xml

$ svn commit -m "rolling back r865" swt/pom.xml
...
Committed revision 872.

Original comment by heue...@gmail.com on 30 Oct 2009 at 3:46

GoogleCodeExporter commented 9 years ago
We're back to this question:

Option 1:
The status quo is that Mac OSX x86_64, Apple JDK 1.5 is ok, and Mac OSX x86_64, 
Apple
JDK 1.6 fails unit tests, see comment 24.

Option 2:
The alternative is to enable the profile macosx_cocoa_intel.  Then Mac OSX 
x86_64,
Apple JDK 1.5 and Mac OSX x86_64, Apple JDK 1.6 would both fail to build with an
unresolved dependency version.  After manually installing cocoa 3.5.1 in order, 
both
should pass the build and run examples, if all of -d64, -XstartOnFirstThread and
MAVEN_OPTS="-Dd64" are specified correctly.

Please vote.  I prefer Option 2.

Original comment by heue...@gmail.com on 10 Nov 2009 at 3:27

GoogleCodeExporter commented 9 years ago
Hm, 
from a purely personal standpoint I'd favour 1) as it works on my machine - but 
that cannot be the argument.

I'd go so far, that I'd rather not be bothered with swt at all - can we head 
for 2) and build swt only with a 
certain profile? Adding a mvn launcher script? Plus explaining in detail what 
the cocoa 3.5.1 install is about?

Or just remove swt from the complete build and make a standalone side project 
(inside p2d)?

The "main" build of p2d (as of today: complete including swt) has to succeed on 
a clean slate svn checkout 
without any other requirements.

Original comment by mr0...@mro.name on 10 Nov 2009 at 7:22

GoogleCodeExporter commented 9 years ago
As noted in my patch for the Readme, I plan to write a wiki page documenting the
install & build process on Mac OSX x86_64.  I just need access to a machine 
again.

Original comment by heue...@gmail.com on 10 Nov 2009 at 8:09

GoogleCodeExporter commented 9 years ago
Install docs at http://code.google.com/p/piccolo2d/wiki/BuildSWTOnMacOSX

Yes, the process with x86_64 and Apple JDK 1.6 sucks.

Original comment by heue...@gmail.com on 27 Nov 2009 at 10:27

GoogleCodeExporter commented 9 years ago
Marking as Fixed.

Raised a new Issue 151 for the profile problem (see comment 26 above).

Original comment by heue...@gmail.com on 3 Dec 2009 at 3:19

GoogleCodeExporter commented 9 years ago
Bad style to Verify my own issue, I know, but I can't get any one else to look 
at this.

Original comment by heue...@gmail.com on 3 Mar 2010 at 3:13