UnsatisfiedLinkError with Processing on Platform 1.1.0.0220
Posted: 10 April 2010 02:44 AM   [ Ignore ]
New Member
Rank
Total Posts:  23
Joined  2010-03-20

Hi,

I am having a hardtime trying to figure out why the java/processing example does not work.
I have tried everything i can remember and no luck.

I placed the the library in processing’s libraries folder.

i’ve looked in the java code and it tries to find the DLL from
—C://Program Files//Code Laboratories//CL-Eye Platform SDK//Bin//CLEyeMulticam.dll
—C://Program Files (x86)//Code Laboratories//CL-Eye Platform SDK//Bin//CLEyeMulticam.dll
That is where CL SDK is installed by default. I have it installed on that path.

The system path also includes that path (for dll finding)

i have also tried to copy the DLL to processing’s root folder, to the library’s folder, to a code folder inside the project’s folder.
basically i ‘ve tried it everywhere where processing would find it but it just does not work


i’ve tried re-compiling the java library and changing the dll path, even adding a new string with no path.. No luck!

it *always* crashes on the first line it using CLCamera, in my case is a a getCameraCount() as it is in most cases i think.


any ideas?

thanks in advance.

Profile
 
 
Posted: 10 April 2010 03:06 AM   [ Ignore ]   [ # 1 ]
New Member
Rank
Total Posts:  23
Joined  2010-03-20

I have done some changes to the library to see if i can spot the problem.

First of all i’ve checked the the file really exists:

File f = new File( dllpathx64dllfile );
            
System.out.printlnf.getAbsolutePath() );
                if( 
f.exists() )
                {
                    System
.out.println"File exists. try to load library" );
                
}
                System
.loadf.getAbsolutePath() ); 

That works just fine, but when it reaches the code to load the dll file it fails!

I have also tried using loadLibrary() instead of load()

System.loadLibrary"CLEyeMulticam" ); 

again it fails.


Here is the error on the problem:

(2)  Failed to load: java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\Code Laboratories\CL-Eye Platform SDK\Bin\CLEyeMulticam.dll: Invalid access to memory location
C:\processing\.\CLEyeMulticam.dll


I have also check the java.library.path for the Platform path and it is there, so it should be able to find the DLL file without copying it anywhere else..


in conclusion, there is some kind of problem with the loading. because the DLL file is actually found..
what would that be?

 

EDIT:
After using dumpbin over the dll file i’m getting alot of “Invalid RVA” messages and i believe that is a big problem and related to the error about memory access.

Profile
 
 
Posted: 11 April 2010 08:29 AM   [ Ignore ]   [ # 2 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

If you are using the latest SDK, make sure that you copy all the CLEyeMulticam files in Java directory into your Processing library directory (according to the included readme file). Both cleyemulticam.jar and CLEyeMulticam.dll need to be in sync for everything to work properly.

Profile
 
 
Posted: 11 April 2010 08:32 AM   [ Ignore ]   [ # 3 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

murderv, have you tried running the included samples in the bin directory? Does everything run? What is your OS? What version of Processing are you using?

Profile
 
 
Posted: 11 April 2010 10:05 AM   [ Ignore ]   [ # 4 ]
New Member
Rank
Total Posts:  23
Joined  2010-03-20

Alex,

yes the library is in place, otherwise i wouldn’t be able to get those errors. it would say it could not find CLCamera first of all.

I have also placed the dll files everywhere, from processing’s folder to system32.
the platform SDK is also in the system variable path so it should be able to find it anyway.


the examples from the SDK works.


Im using Processing 1.0.9
My OS is windows 7 64bit

Profile
 
 
Posted: 15 April 2010 10:25 AM   [ Ignore ]   [ # 5 ]
New Member
Rank
Total Posts:  23
Joined  2010-01-06

On my XP laptop, where I have the same problem, I used DependencyWalker to check
the dependencies of cleyemulticam.dll.
The output (see attachment) shows 3 problems: Hopefully that helps to isolate the problem.
murderv: could you check, if the same happens on your pc ?

Image Attachments
multicamDepend.jpg
Profile
 
 
Posted: 15 April 2010 02:00 PM   [ Ignore ]   [ # 6 ]
New Member
Rank
Total Posts:  23
Joined  2010-03-20

i had run depends also and i had problems with the dll file.


report message is as followed:

Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Warning: At least one module was corrupted or unrecognizable to Dependency Walker, but still appeared to be a Windows module.

shotzc.th.jpg

Profile
 
 
Posted: 15 April 2010 04:28 PM   [ Ignore ]   [ # 7 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

These error are not related to the CLEyeMulticam.dll. This happens even if you try to load windows .dll files. If that was the case, then none of the apps that use CLEyeMulticam.dll would not work. We are looking into replicating the problems you are seeing in Processing. Will update you if we can replicate/diagnose the issue.

Profile
 
 
Posted: 15 April 2010 10:14 PM   [ Ignore ]   [ # 8 ]
New Member
Rank
Total Posts:  23
Joined  2010-01-06

Ok, you are the boss.
But still: Running Dependency with cleyemulticam.dll on my Vista PC, where everything works fine with PS3eye
and Processing, I get a significant different message:
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

The error message pointing directly at the cleymulticam.dll goes away.

Image Attachments
multicamDependVista.jpg
Profile
 
 
Posted: 23 April 2010 10:14 AM   [ Ignore ]   [ # 9 ]
New Member
Rank
Total Posts:  23
Joined  2010-03-20

hi there,

any luck with this problem ?

Profile
 
 
Posted: 26 April 2010 12:58 AM   [ Ignore ]   [ # 10 ]
New Member
Rank
Total Posts:  23
Joined  2010-01-06

alexp
could you replicate the issue?
is there hope for a solution ?

Profile
 
 
Posted: 21 June 2010 11:47 PM   [ Ignore ]   [ # 11 ]
New Member
Rank
Total Posts:  7
Joined  2010-06-16

I’m having this problem too on my Vista laptop. Anyone find a solution yet?

Profile
 
 
Posted: 07 July 2010 09:34 PM   [ Ignore ]   [ # 12 ]
New Member
Rank
Total Posts:  1
Joined  2010-07-07

Same problem - running a Windows 7 64-bit desktop. Everything working fine then hit a brick wall with this.

Profile
 
 
Posted: 23 August 2010 12:36 PM   [ Ignore ]   [ # 13 ]
New Member
Rank
Total Posts:  1
Joined  2010-08-23
AlexP - 15 April 2010 04:28 PM

These error are not related to the CLEyeMulticam.dll. This happens even if you try to load windows .dll files. If that was the case, then none of the apps that use CLEyeMulticam.dll would not work. We are looking into replicating the problems you are seeing in Processing. Will update you if we can replicate/diagnose the issue.

Has this issue been resloved?
I’m running into the same issue with a Windows 7 machine.

Thanks.

Profile
 
 
Posted: 06 February 2011 06:51 AM   [ Ignore ]   [ # 14 ]
New Member
Rank
Total Posts:  1
Joined  2010-11-19

i also tried to run the processing (1.2) example. no luck at all. any news?

EDIT:

found this post http://codelaboratories.com/forums/viewreply/1351/ and it solved the problem!

Profile
 
 
 
 


RSS 2.0     Atom Feed