Okay so here's the thing... if you run this on any pre-R6 framework, then nothing provides this capability. And since R6 is not released, that means all of them.
But you shouldn't have to explicitly require the osgi.ee capability. Even on R5 and earlier, the Bundle-NativeCode header creates an implicit requirement for the correct platform -- assuming you did not use a wildcard entry and got the format of this header correct (it is tricky). Regards, Neil On Mon, Mar 31, 2014 at 10:38 AM, Benoît Thiébault <[email protected]>wrote: > Hi again, > > What bundle provides the osgi.native capability? When running Felix, I > have the following error: > > g! org.osgi.framework.BundleException: Unresolved constraint in bundle > org-myapp [42]: Unable to resolve 42.0: missing requirement [42.0] > org.myapp.native; (library=vtk) [caused by: Unable to resolve 43.0: missing > requirement [43.0] osgi.native; > (&(osgi.native.osname=MacOS)(os.native.processor=x86_64))] > > I’m using Felix 4.2.1 and I’m pretty sure I’m on a 64 bits Mac (Mavericks > 10.9.2) > > Kind regards > Ben > > Le 29 mars 2014 à 11:21, Neil Bartlett <[email protected]> a écrit : > > > You cannot do this with OBR. If you can use the R5 repository format, > along > > with the repoindex tool, then you can use Provide- and Require-Capability > > headers to ensure the set of libraries you need is resolved. For example > > the fragment "org.example.nativelib.osx64" would provide something custom > > like this: > > > > Provide-Capability: myapp.native; library=com.example.nativelib > > > > and it would require the osgi.native capability to ensure it can only > > resolve on a single platform: > > > > Require-Capability: osgi.native; > > filter:="(&(osgi.native.osname=MacOS)(os.native.processor=x86_64))" > > > > Now your core bundle just requires the myapp.native capability and the > > resolver will pick the right fragment for your runtime platform. > > > > > > On Sat, Mar 29, 2014 at 7:47 AM, Benoît Thiébault <[email protected] > >wrote: > > > >> Hi everyone, > >> > >> I’m willing to simplify my application deployment and plan to use an > OBR. > >> On this OBR, I have deployed several bundles, including some containing > >> native code. > >> > >> I have a cross-platform bundle, say org.example.nativelib and one > fragment > >> for each platform: > >> - org.example.nativelib.linux64b > >> - org.example.nativelib.linux32b > >> - org.example.nativelib.win7-64b > >> - org.example.nativelib.osx64b > >> - etc. > >> > >> How can I be sure that when deploying org.example.nativelib from the > OBR, > >> the native fragment of the correct platform will be deployed? > >> > >> Thanks for your help > >> > >> Benoît > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > -- > Dr Benoît Thiébault > Project Manager > > Artenum Toulouse - Science & Groupware > http://www.artenum.com > > Bâtiment Calfocenter > 10, rue Marguerite-Long > 31320 Castanet-Tolosan > France > Phone: +33 (0)5 82 95 19 00 > > >

