the name was changed in the 8.5 release from libjfantom.dylib to libjfantom.jnilib
What do you you mean 8.5 release? To get it to work in 10.6 you have to use .dylib.
Eh? NXJ .85 OSX10.5 lets me use .jnilib.
I've also had to set the java preferences to 32-but system wide for this to work because I'm not aware how to do this on a per program basis.
Um, me neither and I don't know if such an option exists.
I have set the build path in my sample.properties file as follows:
nxj.home=/Applications/leJOS_NXJ
nxj.library.path=${nxj.home}/bin
Well, this path is the same as your working command line path
- Code: Select all
/Applications/leJOS_NXJ/bin/
..so..
Do you have this line in ant ()
- Code: Select all
<jvmarg value="-Djava.library.path=${nxj.library.path}"/>
it should be in the upload or uploadandrun target of build.xml -- then it should work.
If it doesnt try throwing in a <jvmarg value="java -d32"/> everyplace you can. This will tell Java to use 32bits as our fantom driver doesn't and can't (without Lego rewriting it) support 64bits.
For example:
- Code: Select all
<target name="uploadandrun" depends="link"
description="upload and run the binary " >
<java classname="lejos.pc.tools.NXJUpload" fork="true">
<arg value="-u"/>
<jvmarg value="java -d32"/>
<jvmarg value="-Djava.library.path=${nxj.library.path}"/>
etc etc ...
The result of running 'env' in terminal is:
DYLD_LIBRARY_PATH=/Applications/leJOS_NXJ/bin
This is letting your system find our jlibfantom.jnilib and is the equivilant of <jvmarg value="-Djava.library.path=${nxj.library.path}"/>
From what you say it seems like ANT is probably the culprit but not being a Java developer normally I'm not sure where to start looking, any ideas?
Hey me neither.