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]

Reply via email to