Well, I easyly found where the changes have to occured (including modifications of parsing header) and I will explain this when I will update the isuue. But before to begin, I want to write a (very) small bundle loading a native lib. And that's the problem ... I just can't !!!
So I write a little class HelloWorldNative with a sole native method printNative() which call a C method compiled into HelloWorldNative.dll I test my sample out of Felix, and it works fine. So I bundle it. My activator create an instance of the HelloWorldNative class. This contains a static loading of the native library. I'm sure the library is loaded, cause when it's not present, the error is quite explicit. So the loading is OK, but it seems that's the VM checks all methods and verifies that's a correct implementation exists in the dll. And there's my bug ... It can't find the corresponding native method !!! The tracelog : [...] DEBUG: WIRE: 4.0 -> org.osgi.framework -> 0 Started. doWork. +++ new <<< new HelloWorldNative() call +++ loading... <<< before System.loadLibrary() DEBUG: R4SearchPolicyCore.findLibrary()... DEBUG: path: C:\Documents and Settings\Arnaud Quiblier\.felix\a\bundle4\version0.0\lib\HelloWorldNative.dll <<< dll's path is OK java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Arnaud Quiblier\.felix\a\bundle4\version0.0\lib\HelloWorldNative.dll: La procédure spécifiée est introuvable <<< Sorry it's french ... but this is my problem ===== trace ===== at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1495) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) at HelloWorldNative.<clinit>(HelloWorldNative.java:8) at Activator.doWork(Activator.java:26) at Activator.start(Activator.java:10) at org.apache.felix.framework.Felix._startBundle(Felix.java:1216) at org.apache.felix.framework.Felix.startBundle(Felix.java:1149) at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java :768) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java :220) at java.lang.Thread.run(Thread.java:534) --- loaded. --- new [...] Any idea is welcome ... -- </arnaud>

