OK, after inspecting the system properties inside the osgi console I found what the problem was:
org.osgi.framework.processor = x86 -Dorg.osgi.framework.os.name=Win32
Sorry for bothering and thanks for the support!
Best, Todor
To be clear, the Eclipse IDE doesn't support x86 32-bit. Nothing in the Equinox Framework prevents you from running on x86 32-bit.
Can you run the gogo console in your environment and run the following command?
inspect capability osgi.native 0
I expect output like this (note this is from my Mac so it will be different on Windows):
org.eclipse.osgi_3.16.200.v20201209-1827 [0] provides: ------------------------------------------------------ osgi.native with properties: osgi.native.language = en osgi.native.osname = [MacOSX, Mac OS X] osgi.native.osversion = 10.14.6 osgi.native.processor = [x86-64, amd64, em64t, x86_64]
Note that there will be several other properties. But the osgi.native ones are what is used to match the Bundle-Native code header.
Also, can we have a look at your requirement for the osgi.native namespace? Use this command, with the bundle ID of the your bundle with the Bundle-NativeCode header: inspect requirement osgi.native <your bundle ID>
This should give the transformed requirement filter the framework derived from your Bundle-Native code header which is then matched against the osgi.native capability provided by the framework.
Tom
----- Original message ----- From: Todor Dimitrov <todor.dimitrov@xxxxxx> Sent by: "equinox-dev" <equinox-dev-bounces@xxxxxxxxxxx> To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx> Cc: Subject: [EXTERNAL] Re: [equinox-dev] Native code on Windows 10 Date: Wed, Jan 27, 2021 2:35 PM OK, I didn’t know that x86 support was dropped for Windows. The application used to work with previous equinox versions. Since we don’t really use Windows, this gets tested once every 2 years :-)
Isn’t it just better to throw an exception “equinox does not run on Windows x86" and exit?
Also: what do you mean by resolve?
We don’t use bnd but we get an exception like this:
Unresolved requirement: Require-Capability: osgi.native
Thank you,
Todor
Hi Todor,
Also: what do you mean by resolve? If you use the bnd resolver, you have to make sure you provide the native capabilities to the resolver. Here you need to add: -runsystemcapabilities: ${native_capability} if I'm not mistaken.
Regards,
Jürgen.
Hi Todor,
I am not sure if there is special/different support in Equinox, so my answer may be off base.
You are using 32-bit Windows - however 32-bit has not been supported by Eclipse since Eclipse 4.10 (2018-12) release. Could that be your problem here?
Jonah
Hello,
I have a problem resolving native code on Windows 10. The following manifest declaration does not work:
Bundle-NativeCode: sqlite-native/windows/x86/sqlitejdbc.dll; processor=x86; osname=win32
whereas removing 'processor' and 'osname' seems to solve the problem, i.e.
Bundle-NativeCode: sqlite-native/windows/x86/sqlitejdbc.dll
Any ideas? I'm using the following environment:
Windows 10 32-bit Oracle Java 1.8.0_281
Eclipse 4.16 / Equinox 3.20.200.v20200528-0603
Thanks in advance,
Todor _______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxx To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxx To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxxTo unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxxTo unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
|