Issue
I am trying to get an Eclipse plugin (originally developed for Eclipse Neon and Java 8) working and cannot load in the target platform. My system config is as follows:
- Machine: 2021 MacBook Pro (M1 Pro)
- Java Version: Java SE 17.0.1 (also tried JDK 8 Temurin)
- Eclipse 2021-12 (4.22.0) (although I have also tried installing Eclipse Neon on this machine and got the same problem)
When I try to load in the target platform (included at the bottom of the post) I get the following errors:
Problems occurred while resolving the target contents
Cannot complete the install because one or more required items could not be found.
Cannot satisfy dependency:
From: Equinox p2, Provisioning for IDEs. 2.2.201.v20161124-1529 (org.eclipse.equinox.p2.user.ui.feature.group 2.2.201.v20161124-1529)
To: org.eclipse.equinox.p2.iu; org.eclipse.equinox.p2.core.feature.feature.group [1.3.201.v20161115-1950,1.3.201.v20161115-1950]
Cannot satisfy dependency:
From: Eclipse Platform 4.6.2.M20161124-1400 (org.eclipse.platform.ide 4.6.2.M20161124-1400)
To: org.eclipse.equinox.p2.iu; org.eclipse.equinox.p2.user.ui.feature.group [2.2.201.v20161124-1529,2.2.201.v20161124-1529]
Missing requirement for filter properties ~= $0: Equinox p2, headless functionalities 1.3.201.v20161115-1950 (org.eclipse.equinox.p2.core.feature.feature.group 1.3.201.v20161115-1950) requires 'org.eclipse.equinox.p2.iu; org.eclipse.equinox.security.macosx [1.100.200.v20130327-1442,1.100.200.v20130327-1442]' but it could not be found
Software being installed: Eclipse Platform 4.6.2.M20161124-1400 (org.eclipse.platform.ide 4.6.2.M20161124-1400)
The target platform is:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="visuflow" sequenceNumber="42">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.platform.ide" version="4.6.2.M20161124-1400"/>
<unit id="org.eclipse.pde.feature.group" version="3.12.2.v20161124-1400"/>
<unit id="org.eclipse.pde.source.feature.group" version="3.12.2.v20161124-1400"/>
<unit id="org.eclipse.rcp.feature.group" version="4.6.2.v20161124-1400"/>
<unit id="org.eclipse.rcp.source.feature.group" version="4.6.2.v20161124-1400"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.6"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.apache.commons.lang" version="2.6.0.v201404270220"/>
<unit id="org.apache.commons.lang.source" version="2.6.0.v201404270220"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/"/>
</location>
</locations>
<implicitDependencies>
<plugin id="org.apache.felix.gogo.command"/>
<plugin id="org.apache.felix.gogo.shell"/>
<plugin id="org.eclipse.core.net"/>
<plugin id="org.eclipse.equinox.console"/>
<plugin id="org.eclipse.ui.ide"/>
<plugin id="org.eclipse.pde.runtime"/>
<plugin id="org.eclipse.equinox.ds"/>
<plugin id="org.eclipse.ui.ide.application"/>
<plugin id="org.apache.felix.gogo.runtime"/>
</implicitDependencies>
<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Eclipse Temurin 8 [1.8.0_312]"/>
</target>
Thanks in advance for any help.
EDITS:
- @greg-449 was correct in pointing out the conflicting architectures. I was originally running on aarch64, but when I downloaded x86_64 Eclipse/Java, the plugins resolved. However, now I have a different issue, still related to conflicting architectures. When trying to launch my plugin:
/Users/austin/eclipse-workspace/visuflow/.metadata/.plugins/org.eclipse.pde.core/New_configuration/org.eclipse.osgi/132/0/.cp/libswt-cocoa-4628.jnilib: dlopen(/Users/austin/eclipse-workspace/visuflow/.metadata/.plugins/org.eclipse.pde.core/New_configuration/org.eclipse.osgi/132/0/.cp/libswt-cocoa-4628.jnilib, 0x0001): tried: '/Users/austin/eclipse-workspace/visuflow/.metadata/.plugins/org.eclipse.pde.core/New_configuration/org.eclipse.osgi/132/0/.cp/libswt-cocoa-4628.jnilib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/lib/libswt-cocoa-4628.jnilib' (no such file)
Solution
For anyone who has similar problem for:
requires 'org.eclipse.equinox.p2.iu; org.eclipse.equinox.util 1.0.400'
First solution: I would recommend checking which Eclipse version you have installed. I installed the newest and by default and I got 'Eclipse IDE for Java Developers' from the official Eclipse page. If you spend 2 more minutes you can find 'Eclipse IDE for Enterprise Java and Web Developers' - it is more advanced and it looks like some plugins work only on this version.
Second solution: Add to "Available Software Sites" new site name: Eclipse Oxygen.2 URL: http://download.oracle.com/otn_software/oepe/library/eclipse-oxygen.2
I tested the above solutions and both of them work for me. Cheers.
Answered By - dKucharczyk
Answer Checked By - Mildred Charles (JavaFixing Admin)