• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

System.load()

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Iam loading 12000.dll using System.load(12000.dll),12000.dll inturn calls methods of dsp.dll.
I have some 4 JNI methods implemented on java side which are native code implemented in C++ on 12000.dll.Everything works fine.

A new dll with one more new method introduced on dsp.dll is loaded then on Java side it is throwing UnSatisfied link error.

My question is why should it throws error in System.load when a new method is introduced on Dsp.dll which is internally called by 12000.dll,we are not calling that method also.

If any one has Answers let me know

Thanks in advance
praveen
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
UnsatisfiedLinkError usually means that the JVM cannot find the DLL it is looking for or it cannot find the native method you are trying to call in the DLL.

- Check if your DLL's are in the right place, so that the JVM can find them.
- Check if you didn't accidentally remove or change a function signature in the DLL.
- Check if you compiled the DLL correctly, so that the calling conventions of the functions in the DLL are still as Java expects them.
 
praveen jm
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Jesper,

Thanks for the reply.
Let me put the question in more detail.

1. when i load xp12000.dll using System.load(),where xp12000.dll calls dsp.dll.
2. xp12000.dll uses dsp.dll methods,everything is compiled and loaded in right path and it works fine.

3.but when dsp.dll is introduced with one more new method with all other methods previously existed it was failing.

4.System.load() should atleast load the DLL then it should throw whatever exception.

5. Here it is faling to even load 12000.dll.

6.when we checked signatures at the code everything is fine, no changes but only new method is added in dsp.dll,which is not used in 12000.dll.

7.we are unable to even debug where exactly it is failing.

if anything you suggest let me know.This is very urgent.

Thanks
Praveen
reply
    Bookmark Topic Watch Topic
  • New Topic