Search This Blog

27 June 2009

Update: Ardor3d and DarkMMO on OpenSolaris

As noted in the previous entry, I have Ardor3d working now in OpenSolaris (as of v 0.6-SNAPSHOT of Ardor3d).

I now have a mavenized-version of DarkMMO working as well (poms will be checked in soon).

Below is the startup script I am currently using to launch it.
#!/bin/bash

DS_PATH=`pwd`
DS_CP="$DS_PATH/DarkMMO-Client/target/DarkMMO-Client-1.0-SNAPSHOT.jar"
for file in $DS_PATH/DarkMMO-Client/target/dependency/*.jar; do
    DS_CP="$DS_CP:$file"
done

export LD_LIBRARY_PATH=/export/home/malachi/work/Ardor3Dv1/ardor3d-lwjgl/lib/lwjgl/native/solaris

java -cp $DS_CP -Ddarkmmo.nwndatadir="$DS_PATH/nwn" com.worldwizards.darkmmo.client.DarkMMOClient

24 June 2009

Maxine on OpenSolaris

Maxine is a VM designed for and written in the Java(TM) Programming Language with an emphasis on leveraging meta-circularity, componentized design, and code reuse to achieve flexibility, configurability, and productivity for academic and industrial virtual machine researchers.
So I thought I'd give it a shot.

I extracted the zip file into into /opt.  Originally permissions were as root:root (due to pfexec usage for opt) but I had to change it since maxine didn't like not having write access to the directory.  I also created a symlink to /opt/maxine [which will be how I refer to it from now on].

I copied junit-4.4.jar into /opt/maxine/bin and added a line at the top of /opt/maxine/bin/max:

JUNIT4_CP=/opt/maxine/bin/junit-4.4.jar
I modified my .zshrc to set /opt/maxine as MAXINE_HOME and added $MAXINE_HOME/bin to the beginning of my path.

Following these instructions, I took it for a little spin. 

# max build

This actually failed (cc: language M1 not recognized) as long as gcc was in the PATH before the SunStudioExpress/bin; swapping those around it began working.


# max helloworld
Hello World



# max vm -cp VM/bin test.output.GCTest2
Could not load main class: java.lang.ClassNotFoundException: test.output.GCTest2

KK, let's troubleshoot that...

# max -v helloworld
/opt/maxine/Native/generated/solaris/maxvm -classpath /opt/maxine/VM/bin util.HelloWorld
Hello World!


# max -v vm -cp VM/bin util.HelloWorld
/opt/maxine/Native/generated/solaris/maxvm -cp VM/bin util.HelloWorld
Could not load main class: java.lang.ClassNotFoundException: util.HelloWorld

# max -v vm -cp /opt/maxine/VM/bin util.HelloWorld
/opt/maxine/Native/generated/solaris/maxvm -cp /opt/maxine/VM/bin util.HelloWorld
Hello World!


Ok, I think I have it...

# max -v vm -cp /opt/maxine/VM/bin test.output.GCTest2
/opt/maxine/Native/generated/solaris/maxvm -cp /opt/maxine/VM/bin test.output.GCTest2
Garbage Collector Test
...
GCTest2 done.

I don't have 'max gate'  working yet and 'max inspect' core dumped while trying to fork... but hey, it's a start.

22 June 2009

Ardor3D on OpenSolaris

I noticed earlier today that Sun finally changed the licensing on Darkstar, as per my request. Before going and working on my design, I decided to see what the status of DarkMMO was. Jeff has picked it back up, and has started porting it to Ardor3d.

Ardor3d? I hadn't heard of that...

Apparently, Joshua Slack has moved the development from jMonkeyEngine to Ardor3d. The little bit of research I did seems to indicate that there is a bit of a rift with that -- but that Ardor3d is more current.

Ok, well, can I get Ardor3d working on OpenSolaris?

I go and check out their 'getting started' and was very disappointed to see references to Eclipse. Yes, I know many of you out there like Eclipse; but I am a purist and so have been against it since day 1. Besides, I really didn't like IBM's deceptive practices regarding its launch.

Oh well, let's see if this project is worth using after all. I download the source (subversion, yay!) and go to compile it (maven, yay!)... First failure is obvious... I needed to add a mirror to their nexus repository inside mine.

Try again...

Ok, well now the ardor3d-swt is failing. As much as I hate to, I decide to troubleshoot why it isn't building. As could be expected from a non-java library, the problem was caused by their repo not having the native libraries (yes, native - that's the main reason I despise SWT -- whoever heard of requiring native libraries for a java app intentionally?).

Ok, screw it. I commented out the ardor3d-swt module and then added an exclusion for **/*Swt*.java to the compiler in the top level pom. Ok, now everything else builds.

Now to run the example... hmmm... well that's annoying, I don't really want to have to find all the jars to test it... So I copied the dependency plugin configuration from ambrosia's pom into the top level pom and rebuilt.

Good. Now I have all the runtime dependencies for the examples in one place. I added all of them (why is the Java6 -classpath directory not working?) to the classpath, as well as the auto-generated ardor3d-examples-0.6-SNAPSHOT.jar.

Try again. Close.
export LD_LIBRARY_PATH=/export/home/malachi/work/Ardor3Dv1/ardor3d-lwjgl/lib/lwjgl/native/solaris:$LD_LIBRARY_PATH

Try again. Ok this time it runs. Can't use JOGL in the popup because there isn't a native library for it. Can't use 8 samples, because then it complains about GLX13 configuration. Can't use fullscreen -- well, that's a bit harsh. I *can* use fullscreen but it looks like crap because it changes to 320x240 and has severe artifacts. However, 4 samples, LWJGL, 1152x864 looks pretty good. Colors look a LOT better on 1024x768 though.

So not sure how much time I will spend on it. Definitely appears that it will be a bit of work to make it usable on OpenSolaris. Then again, maybe I should retry on Windows since my Emotiv Epoc won't run on anything else right now anyways.

BTW: To run the example after setting up the classpath and LD_LIBRARY_PATH...
java com.ardor3d.example.basic.BoxExample

10 June 2009

Firefox 3.5 and Java is not enabled

So I download the 3.5 Preview of Firefox (luckily the tarball rather than overwriting my working Firefox) and when I try to do just about anything:

The current version of Java on this system (0 - Java Not Enabled)
So haven't figured out yet how to fix this. Edit|Preferences says that it is enabled. The other version of Firefox (3.1) can run at the same time and Java is working on it...  Hope they iron that out soon.  Especially since that little attempt completely wiped out all my personal data in the 3.1 version (bookmarks, passwords, history, everything -- which by the way, REALLY sucks).

03 June 2009

Installing JavaFX

download javafx_sdk-1_2-solaris-i586.sh

malachi@serveris[1]:/opt % pfexec chmod +x javafx_sdk-1_2-solaris-i586.sh
malachi@serveris[0]:/opt % pfexec ./javafx_sdk-1_2-solaris-i586.sh
malachi@serveris[0]:/opt % pfexec rm javafx_sdk-1_2-solaris-i586.sh
malachi@serveris[0]:/opt % pfexec ln -s javafx-sdk1.2 javafx

add /opt/javafx/bin to your PATH

per http://java.sun.com/javafx/1/tutorials/core/getStarted/
malachi@serveris[0]:~/work/javafx/Calculator/tmp % javafxc Calculator.fx
malachi@serveris[0]:~/work/javafx/Calculator/tmp % javafx Calculator