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]