Question

So I am trying to get lejos (the software for lego robots) to work in my eclipse but when i click the lejos nxj item in the eclipse toolbar and select upload firmware I get the following error

Building firmware image.
VM file: C:\Program Files (x86)\leJOS NXJ\bin\lejos_nxt_rom.bin
Menu file: C:\Program Files (x86)\leJOS NXJ\bin\StartUpText.bin
Magic string found at offset 0x40
VM size: 55712 bytes.
Menu size: 44132 bytes.
Total image size 99940/100352 bytes.
Locating device in firmware update mode.
flashing the firmware failed
lejos.pc.comm.NXTCommException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
Caused by lejos.util.jni.JNIException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
Caused by java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll: Can't find dependent libraries
See Eclipse error log for detailed stack trace.

anybody has an idea whats going on. I check the directory and the file is there... This is the content of log file from eclipse

!SESSION 2011-09-03 13:11:11.541 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.eclipse.ui 4 4 2011-09-03 13:23:11.783
!MESSAGE Invalid preference page path: XML Syntax
!SESSION 2011-09-03 13:23:13.777 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:29:50.136
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:30:42.966
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:31:04.653
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:37:49.689
!MESSAGE cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
!STACK 0
lejos.pc.comm.NXTCommException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:112)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more
Caused by: java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:103)
    ... 18 more
Was it helpful?

Solution

  • Did you install the leJOS software suite?
  • Did it install fully?
  • Did you point eclipse to the correct 32bit JDK/JRE?
  • Did you install the phantom driver?

Is NXJ_HOME in eclipse/window/preferences/leJOS NXJ pointing to the correct dir for leJOS?

OTHER TIPS

The java.lang.UnsatisfiedLinkError tells you, that a dependency of jfantom.dll is missing. It must be the case, that you haven't installed the Fantom driver. Download and install the Fantom driver from mindstorms.com (the most recent version there is 1.1.3): http://mindstorms.lego.com/en-us/support/files/Driver.aspx

or use that the RobotC people offer (currently 1.2.0): http://www.robotc.net/support/troubleshooting/fantom-driver.php

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top