Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#51 closed defect (fixed)

WiimoteDeviceManager fails on Windows (UnsatisfiedLinkError)

Reported by: Henrik Heimbuerger Owned by: Florian Roth
Priority: major Milestone: MS1: First release (1.0.0)
Component: controller Version: pre-1.0
Keywords: wiimote, jni Cc:

Description

I'm getting an UnsatisfiedLinkError on Windows when trying to detect Wiimotes. Can you please look into this, Flo? It's probably something trivial.

It currently occurs while calling scanForWiimotes() in InputDeviceSettingsDialog, line 282 [182]

java.lang.UnsatisfiedLinkError: F:\Projekte\JaCaVi\SVN-Sandbox\src\JACAVI\libs\WiiUseJ.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.loadLibrary0(Unknown Source)
	at java.lang.System.loadLibrary(Unknown Source)
	at wiiusej.WiiUseApi.<clinit>(WiiUseApi.java:29)
	at wiiusej.WiiUseApiManager.<init>(WiiUseApiManager.java:43)
	at wiiusej.WiiUseApiManager.<clinit>(WiiUseApiManager.java:35)
	at de.jacavi.appl.controller.device.impl.WiimoteDeviceManager.scanForWiimotes(WiimoteDeviceManager.java:28)
	at de.jacavi.rcp.dlg.InputDeviceSettingsDialog$2.run(InputDeviceSettingsDialog.java:282)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

The (shared) launch configuration contains the seemingly correct path as java.library.path VM argument and WiiUseJ.dll and wiiuse.dll are there.

Change History (7)

comment:1 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from somebody to Florian Roth
Status: newassigned

comment:2 Changed 16 years ago by SVN

New commit by froth (revision [186]):
[Related to ticket #51] fixed a bug in the WiimoteDeviceManager?

comment:3 Changed 16 years ago by SVN

New commit by froth (revision [187]):
[Fixed defect #51] added fix for crazy library path problem

comment:4 Changed 16 years ago by Florian Roth

Resolution: fixed
Status: assignedclosed

The problem is that WiiUseJ.dll counld not find and load wiiuse.dll although the VM Argument in eclipse run configuration is: -Djava.library.path:path to JACAVI/libs.

There are several ways to fix this:
-> Under Windows set in run configuration Environment PATH:JACAVI/libs
-> Under Linux set in run configuration Environment LD_LIBRARY_PATH:JACAVI/libs (dont know if the problem exists under linux)
-> Set the working directory to JACAVI/libs (this has the effect that other files couldn't be found)
-> Copy the dlls WiiUseJ.dll and wiiuse.dll to the working direktory

I dont know exactly why this is. But at this time the solution to fix this problem is to set the PATH in eclipse run configuration.

comment:5 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [188]):
[Partial revert of change to ticket #51, related to ticket #39] Reverted accidental input device dialog size change from [187].

comment:6 Changed 16 years ago by Henrik Heimbuerger

Milestone: MS3: Input device and slot car track supportMS1: First usable version

Batch moved MS3 (input device/technology integration) to MS1 (first working version).

comment:7 Changed 16 years ago by Henrik Heimbuerger

Component: unspecifiedcontroller
Note: See TracTickets for help on using tickets.