eclipse-platform / eclipse.platform

https://eclipse.dev/eclipse/
Eclipse Public License 2.0
83 stars 114 forks source link

can't Oomph platform #209

Closed jukzi closed 1 year ago

jukzi commented 2 years ago

@merks please help

Cannot complete the request.  Generating details.
ERROR: org.eclipse.equinox.p2.director code=10053 Cannot complete the install because one or more required items could not be found.
  at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:296)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.resolve(ProfileTransactionImpl.java:434)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:344)
  at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:904)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3864)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3792)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3773)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3651)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:592)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:721)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
  ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1665040209293
  ERROR: org.eclipse.equinox.p2.director code=0 Missing requirement: TextMate support in Java 0.4.4.202205101731 (org.eclipse.tm4e.core 0.4.4.202205101731) requires 'osgi.bundle; org.yaml.snakeyaml 1.27.0' but it could not be found
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1665040209293
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.m2e.lemminx.feature.feature.group 0.0.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: M2E Maven POM File Editor using Wild Web Developer, Lemminx and Maven LS extension (requires Incubating components) 2.0.1.20221002-1412 (org.eclipse.m2e.editor.lemminx 2.0.1.20221002-1412)
    ERROR: org.eclipse.equinox.p2.director code=0 To: osgi.bundle; org.eclipse.wildwebdeveloper.xml [0.15.0,0.16.0)
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: M2E - POM Editor using LemMinX language server (includes Incubating components) 2.0.1.20221002-1412 (org.eclipse.m2e.lemminx.feature.feature.group 2.0.1.20221002-1412)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.m2e.editor.lemminx [2.0.1.20221002-1412,2.0.1.20221002-1412]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: TextMate support in Eclipse IDE - Registry management 0.5.1.202205101731 (org.eclipse.tm4e.registry 0.5.1.202205101731)
    ERROR: org.eclipse.equinox.p2.director code=0 To: osgi.bundle; org.eclipse.tm4e.core 0.4.4
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: XML support using Language Server 0.15.0.202207081036 (org.eclipse.wildwebdeveloper.xml 0.15.0.202207081036)
    ERROR: org.eclipse.equinox.p2.director code=0 To: osgi.bundle; org.eclipse.tm4e.registry 0.3.0

Took 5 seconds.
There are failed tasks.
Press Back to choose different settings or Cancel to abort.
jukzi commented 2 years ago

When i go "back" and forth some times to retry i even end up in an NPE

java.lang.NullPointerException: Cannot invoke "org.eclipse.oomph.setup.Installation.getProductVersion()" because "installation" is null
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.getSetupTasks(SetupTaskPerformer.java:1460)
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initTriggeredSetupTasks(SetupTaskPerformer.java:322)
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initTriggeredSetupTasks(SetupTaskPerformer.java:306)
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.<init>(SetupTaskPerformer.java:271)
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.create(SetupTaskPerformer.java:4528)
    at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.create(SetupTaskPerformer.java:4495)
    at org.eclipse.oomph.setup.ui.wizards.SetupWizardPage.createPerformer(SetupWizardPage.java:165)
    at org.eclipse.oomph.setup.ui.wizards.VariablePage$4.createPerformer(VariablePage.java:551)
    at org.eclipse.oomph.setup.ui.wizards.SetupWizardPage$PerformerCreationJob.run(SetupWizardPage.java:365)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
merks commented 2 years ago

The NPE is familiar but always hard to reproduce to debug/fix it... There's a long stand Oomph bug open for it.

As for the setup, it works for me just now and I see the "missing" org.yaml.snakeyaml in my installation afterwards:

image

I'm not sure what to suggest. Restart the IDE and try again?

merks commented 2 years ago

Maybe my snake YAML is a slightly different one... But why no failure. Maybe one of the repos (m2e?) is incomplete and doesn't provide the IUs that it needs to install; but why doesn't mine fail?

jukzi commented 2 years ago

i still got the error. what i did is: downloaded installer and dragged Create Eclipse Development Environment for the Eclipse SDK

from https://github.com/eclipse-platform/.github/blob/main/CONTRIBUTING.md

jukzi commented 2 years ago

the error goes away when i deselect use p2 pool

merks commented 2 years ago

I see. Updated by existing IDE. I'll try that, but I'm running out of time for today... Sorry...

merks commented 2 years ago

Created a brand new installation in a brand new user home installed fine and indicates:

Installing org.yaml.snakeyaml [1.27.0.v20201111-1638]

But now I'm really out of time.

jukzi commented 2 years ago

After i oomphed platform without p2 pool i get a lot of errors in the error view after each start, which i understand as eclipse would require java 17 instead of 11?

for example

org.osgi.framework.BundleException: Could not resolve module: org.eclipse.wildwebdeveloper.xml [442]
  Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"

or

org.osgi.framework.BundleException: Could not resolve module: org.eclipse.m2e.sourcelookup.ui [309]
  Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
  Unresolved requirement: Require-Bundle: org.eclipse.m2e.sourcelookup; bundle-version="[2.0.0,3.0.0)"
    -> Bundle-SymbolicName: org.eclipse.m2e.sourcelookup; bundle-version="2.0.1.20220928-2220"; singleton:="true"
       org.eclipse.m2e.sourcelookup [308]
         Unresolved requirement: Require-Bundle: org.eclipse.m2e.core; bundle-version="[2.0.0,3.0.0)"
           -> Bundle-SymbolicName: org.eclipse.m2e.core; bundle-version="2.0.4.20221002-0838"; singleton:="true"
              org.eclipse.m2e.core [290]
                Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
         Unresolved requirement: Require-Bundle: org.eclipse.m2e.launching; bundle-version="[2.0.0,3.0.0)"
           -> Bundle-SymbolicName: org.eclipse.m2e.launching; bundle-version="2.0.2.20221002-0838"; singleton:="true"
              org.eclipse.m2e.launching [297]
                Unresolved requirement: Require-Bundle: org.eclipse.m2e.core; bundle-version="[2.0.0,3.0.0)"
                  -> Bundle-SymbolicName: org.eclipse.m2e.core; bundle-version="2.0.4.20221002-0838"; singleton:="true"
  Unresolved requirement: Require-Bundle: org.eclipse.m2e.core.ui; bundle-version="[2.0.0,3.0.0)"
    -> Bundle-SymbolicName: org.eclipse.m2e.core.ui; bundle-version="2.0.2.20221002-1412"; singleton:="true"
       org.eclipse.m2e.core.ui [291]
         Unresolved requirement: Require-Bundle: org.eclipse.m2e.core; bundle-version="[2.0.0,3.0.0)"
           -> Bundle-SymbolicName: org.eclipse.m2e.core; bundle-version="2.0.4.20221002-0838"; singleton:="true"
  Unresolved requirement: Require-Bundle: org.eclipse.m2e.binaryproject; bundle-version="[2.0.0,3.0.0)"
    -> Bundle-SymbolicName: org.eclipse.m2e.binaryproject; bundle-version="2.0.1.20220928-2220"; singleton:="true"
       org.eclipse.m2e.binaryproject [288]
         Unresolved requirement: Require-Bundle: org.eclipse.m2e.core; bundle-version="[2.0.0,3.0.0)"
           -> Bundle-SymbolicName: org.eclipse.m2e.core; bundle-version="2.0.4.20221002-0838"; singleton:="true"
  Unresolved requirement: Require-Bundle: org.eclipse.m2e.core; bundle-version="[2.0.0,3.0.0)"
    -> Bundle-SymbolicName: org.eclipse.m2e.core; bundle-version="2.0.4.20221002-0838"; singleton:="true"

    at org.eclipse.osgi.container.Module.start(Module.java:463)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

eclipse.buildId=4.26.0.I20221005-1800 java.version=11.0.16 java.vendor=Eclipse Adoptium BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE Command-line arguments: -os win32 -ws win32 -arch x86_64

jukzi commented 2 years ago

image

merks commented 2 years ago

Yes, the platform SDK doesn't depend on Java 17 so installing the SDK product doesn't require it, but unfortunately some things on the train do now depend on Java 17. I have no mechanism in Oomph currently by which I can force to use Java 17 for the installation. I'll have to invent something at some point in my no-so-copious spare time....

merks commented 2 years ago

I had a quick look and this is a hard problem to fix in Oomph currently. The decision of which version of Java is required is based on purely what's defined in the selected Product Version and that happens on the first page of the advanced mode. It isn't until we get to the second page and we install Project Stream that might want to install additional things that might require a version of Java higher than what's required by the product itself. 😭

akurtakov commented 1 year ago

I believe it should be fine for Oomph to mandate Java 17 even if product require Java 11. Esp. considering that Platform will move to Java 17 as soon as someone has a usecase for it.

jukzi commented 1 year ago

@merks today i can't oomph with error aQute.bnd.osgi 5.5.0 could not be found

Adding metadata repository https://download.eclipse.org/tools/gef/updates/milestones
Calculating requirements and dependencies.
Cannot complete the request.  Generating details.
ERROR: org.eclipse.pde.core code=0 Problems occurred while resolving the target contents
  at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:296)
  at org.eclipse.oomph.util.pde.TargetPlatformUtil.activateTargetDefinition(TargetPlatformUtil.java:151)
  at org.eclipse.oomph.targlets.internal.core.TargletContainer.forceUpdate(TargletContainer.java:905)
  at org.eclipse.oomph.setup.targlets.impl.TargletTaskImpl$4.run(TargletTaskImpl.java:1232)
  at org.eclipse.oomph.util.pde.TargetPlatformUtil.runWithTargetPlatformService(TargetPlatformUtil.java:120)
  at org.eclipse.oomph.setup.targlets.impl.TargletTaskImpl.perform(TargletTaskImpl.java:1092)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3864)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:5200)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2380)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2405)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:5193)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3798)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3773)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3651)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:592)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:721)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
  ERROR: org.eclipse.equinox.p2.director code=10053 Cannot complete the install because one or more required items could not be found.
    ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1678446572730
    ERROR: org.eclipse.equinox.p2.director code=0 Missing requirement: PDE Core 3.16.100.v20230126-0956 (org.eclipse.pde.core 3.16.100.v20230126-0956) requires 'java.package; aQute.bnd.osgi 5.5.0' but it could not be found
    ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
      ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1678446572730
      ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.pde.core 0.0.0
merks commented 1 year ago

Yes, that's kind of broken until release day morning. Here's a workaround:

https://github.com/eclipse-pde/eclipse.pde/pull/497#issuecomment-1463393414

I'll probably look into defining some new variables to use for this situation before the 4.28 -> 4.29 transition...

merks commented 1 year ago

Now that the SDK requires Java 17, this problem is no longer current.