Perhaps you start the JVM up suspended with debug enabled and set a break point up at R4LibraryClause.match() and see precisely why it is failing?

The code in there is pretty self explanatory.

-> richard

On 6/12/14, 14:13 , Benoît Thiébault wrote:
What is strange is that the OS, the JVM and the bundle are the same. Only Felix 
version changes.

We have tried to look at other classes that were modified in Felix since 4.0.3 
but could not find anything conclusive yet

Le 12 juin 2014 18:40, "Richard S. Hall" <[email protected]> a écrit :

On 6/12/14, 05:01 , Benoît Thiébault wrote:
Hi again,

I checked what version of Felix did break it:

- Everything worked fine with Felix 4.0.3 that was released the 28th of 
December 2012
- Version 4.2.0, released on the 11th of February 2013, broke it

Isn’t this modification responsible for this?
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java?r1=1355580&r2=1441169

It also seems to be related to bug 
https://issues.apache.org/jira/browse/FELIX-3363
If I had to guess, I'd say that the OS name being reported by the JVM
(i.e., System.getProperty("os.name");) is not what we are expecting.

I don't have Windows to test, but if I set a breakpoint in
R4LibraryClause.normalizeOSName() and manually edit 'value' to be
"Windows 7", then it appears to resolve the bundle correctly on my Mac.

What value does your JVM report for os.name?

-> richard

Thanks for your help,

Kind regards,

Ben

Le 11 juin 2014 à 21:50, Benoît Thiébault <[email protected]> a écrit :

Hi everyone,

I have an OSGi bundle containing native code that worked great with Felix 4.0.2.

I have switched to newer versions (originally 4.2.1 but also I tried with 4.4.0) and the 
bundle does not load anymore on Windows 7 64-bits (I haven’t tried the 32-bits version): 
I have a "No matching libraries found" error message. Java version is 1.6.0_37.

I don’t have the problem with native bundles on other platforms (I tried Debian 
Squeeze 64-bits and Mac OS Mavericks).

Do you know were this could come from? Is there a workaround, or better, a fix? 
Or should I go back to Felix 4.0.2 (which has difficulties with Java 7…)?

I have uploaded files here to reproduce the bug:
http://dev.artenum.com/blog/ben/download/FelixComparison_zip?action=download&nodecorator

It contains two versions of the Felix Framework (4.0.2 and 4.4.0), I just added 
the minimum required bundles in the bundle folder. Bundles in the bundle folder 
are identical. When you run the two Run.bat files, you obtain the attached 
screenshot. Bundle 4 loads in one case, not with Felix 4.4.0.

Below is also the Bundle-NativeCode definition in Maven Bundle plugin.

Thanks for you advice

Kind regards,

Ben


<Error.png>

<plugin>
                   <groupId>org.apache.felix</groupId>
                   <artifactId>maven-bundle-plugin</artifactId>
                   <configuration>
                       <instructions>
                           
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                           
<Export-Package>vtk;version=${vtk.version}</Export-Package>
                           
<Embed-Dependency>*;groupId=vtk;artifactId=vtk</Embed-Dependency>
                           <Include-Resource>
                               
vtk=dependencies/thirdparty/vtk-${vtk.version}/windows-x86_64,
                               {maven-resources}
                           </Include-Resource>
                           <Bundle-NativeCode>
vtk/awt.dll;
vtk/jawt.dll;
vtk/msvcp100.dll;
vtk/msvcr100.dll;
vtk/Cosmo.dll;
vtk/MapReduceMPI.dll;
vtk/VPIC.dll;
vtk/mpistubs.dll;
vtk/vtkCharts.dll;
vtk/vtkChartsJava.dll;
vtk/vtkCommon.dll;
vtk/vtkCommonJava.dll;
vtk/vtkDICOMParser.dll;
vtk/vtkFiltering.dll;
vtk/vtkFilteringJava.dll;
vtk/vtkGenericFiltering.dll;
vtk/vtkGenericFilteringJava.dll;
vtk/vtkGeovis.dll;
vtk/vtkGeovisJava.dll;
vtk/vtkGraphics.dll;
vtk/vtkGraphicsJava.dll;
vtk/vtkHybrid.dll;
vtk/vtkHybridJava.dll;
vtk/vtkIO.dll;
vtk/vtkIOJava.dll;
vtk/vtkImaging.dll;
vtk/vtkImagingJava.dll;
vtk/vtkInfovis.dll;
vtk/vtkInfovisJava.dll;
vtk/vtkNetCDF.dll;
vtk/vtkNetCDF_cxx.dll;
vtk/vtkParallel.dll;
vtk/vtkParallelJava.dll;
vtk/vtkRendering.dll;
vtk/vtkRenderingJava.dll;
vtk/vtkViews.dll;
vtk/vtkViewsJava.dll;
vtk/vtkVolumeRendering.dll;
vtk/vtkVolumeRenderingJava.dll;
vtk/vtkWidgets.dll;
vtk/vtkWidgetsJava.dll;
vtk/vtkalglib.dll;
vtk/vtkexoIIc.dll;
vtk/vtkexpat.dll;
vtk/vtkfreetype.dll;
vtk/vtkftgl.dll;
vtk/vtkjpeg.dll;
vtk/vtklibxml2.dll;
vtk/vtkmetaio.dll;
vtk/vtkpng.dll;
vtk/vtkproj4.dll;
vtk/vtksys.dll;
vtk/vtktiff.dll;
vtk/vtkverdict.dll;
vtk/vtkzlib.dll;
osname=win7;
processor=x86_64
                           </Bundle-NativeCode>
                       </instructions>
                   </configuration>
               </plugin>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to