Seite 1 von 3

Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 30. Jul 2023 13:05
von pako91
Hallo zusammen
Ich habe soeben von OH3 zu OH4 upgegradet und kann OH nicht mehr starten. Ich erhalte folgenden Log-Eintrag:

Kann mir da jemand helfen?
2023-07-30 13:00:18.562 [ERROR] [ternal.service.BootFeaturesInstaller] - Error installing boot features
org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-runtime-ui; type=karaf.feature; version="[4.0.1,4.0.1]"; filter:="(&(osgi.identity=openhab-runtime-ui)(type=karaf.feature)(version>=4.0.1)(version<=4.0.1))" [caused by: Unable to resolve openhab-runtime-ui/4.0.1: missing requirement [openhab-runtime-ui/4.0.1] osgi.identity; osgi.identity=openhab-runtime-base; type=karaf.feature [caused by: Unable to resolve openhab-runtime-base/4.0.1: missing requirement [openhab-runtime-base/4.0.1] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/4.0.1: missing requirement [openhab-core-base/4.0.1] osgi.identity; osgi.identity=org.openhab.core.config.core; type=osgi.bundle; version="[4.0.1,4.0.1]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.config.core/4.0.1: missing requirement [org.openhab.core.config.core/4.0.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.core.common.registry)(version>=4.0.0)(!(version>=5.0.0)))" [caused by: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"]]]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:256) ~[?:?]
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-runtime-ui/4.0.1: missing requirement [openhab-runtime-ui/4.0.1] osgi.identity; osgi.identity=openhab-runtime-base; type=karaf.feature [caused by: Unable to resolve openhab-runtime-base/4.0.1: missing requirement [openhab-runtime-base/4.0.1] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/4.0.1: missing requirement [openhab-core-base/4.0.1] osgi.identity; osgi.identity=org.openhab.core.config.core; type=osgi.bundle; version="[4.0.1,4.0.1]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.config.core/4.0.1: missing requirement [org.openhab.core.config.core/4.0.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.core.common.registry)(version>=4.0.0)(!(version>=5.0.0)))" [caused by: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"]]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-runtime-base/4.0.1: missing requirement [openhab-runtime-base/4.0.1] osgi.identity; osgi.identity=openhab-core-base; type=karaf.feature [caused by: Unable to resolve openhab-core-base/4.0.1: missing requirement [openhab-core-base/4.0.1] osgi.identity; osgi.identity=org.openhab.core.config.core; type=osgi.bundle; version="[4.0.1,4.0.1]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.config.core/4.0.1: missing requirement [org.openhab.core.config.core/4.0.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.core.common.registry)(version>=4.0.0)(!(version>=5.0.0)))" [caused by: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"]]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve openhab-core-base/4.0.1: missing requirement [openhab-core-base/4.0.1] osgi.identity; osgi.identity=org.openhab.core.config.core; type=osgi.bundle; version="[4.0.1,4.0.1]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.core.config.core/4.0.1: missing requirement [org.openhab.core.config.core/4.0.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.core.common.registry)(version>=4.0.0)(!(version>=5.0.0)))" [caused by: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"]]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.openhab.core.config.core/4.0.1: missing requirement [org.openhab.core.config.core/4.0.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.openhab.core.common.registry)(version>=4.0.0)(!(version>=5.0.0)))" [caused by: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.openhab.core/4.0.1: missing requirement [org.openhab.core/4.0.1] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.0.jar:?]
... 12 more

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 30. Jul 2023 14:43
von udo1toni
Welche Plattform? Rapberry Pi?
Welches OS? bzw. welches Image (z.B. openHABian?)
Welche Version des OS (evtl. Raspberry Pi OS buster)?
Wie hast Du das Upgrade ausgeführt?
Hast Du vorher Java auf Version 17 upgegradet?

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 14:23
von sami77
Hatte das gleiche Problem nach einem Update...

Das hat mir geholfen: https://community.openhab.org/t/suddenl ... /144832/23

VG und viel Erfolg!
U

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 15:19
von udo1toni
Dein Erfolg besteht also darin, dass Du zu openHAB3.4.5 zurückgekehrt bist und diese Version auf hold gesetzt hast?

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 18:29
von sami77
Ich hab geschrieben "dass es mir geholfen hat"...

Es lief nämlich leider gar nichts mehr!

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 19:05
von udo1toni
Ja, aber dadurch bist Du ja immer noch nicht auf openHAB4... :) Also, um erst mal wieder ein laufendes System zu bekommen kann der Weg ok sein - je nach Vorgeschichte - aber jedenfalls hilft das nicht, um openHAB4 zu nutzen.

Der bisher gewöhnlich gemachte Fehler besteht darin, auf einem System ein Upgrade auszuführen, welches nicht die Voraussetzungen erfüllt.

Voraussetzung für openHAB4 -> bereits installierte Laufzeitumgebung Java17 (und zwar exakt diese Hauptversion) Vorzugsweise wäre das OpenJDK, es reicht die headless JRE (JavaRuntimeEnvironment) openhabian-config tauscht nicht von sich aus die Java Version aus, dazu muss man den Befehl erteilen.
Voraussetzung für die genannte Java Version ist ein Betriebssystem, für welches dieses als Paket zur Verfügung steht.
Auf dem Raspberry Pi wird für openHAB (glücklicherweise) zu 99% das openHABian Image eingesetzt.
Das aktuelle openHABian (1.8.0) nutzt als Grundlage Raspberry Pi OS lite in der Version bullseye. Dies stellt also gleichzeitig eine Voraussetzung für das erfolgreiche Upgrade über openhaian-config dar.

Nutzt man Debian, kann man auch gleich auf bookworm upgraden, ein manuell aufgesetztes openHABian läuft auch dort weitgehend fehlerfrei durch.
Für Raspberry Pi OS dauert es aber noch ein bisschen, bis bookworm stable wird, bis dahin sollte also bullseye die Grundlage sein (und bullseye stellt auch openJDK17 headless-JRE zur Verfügung (oder war es JRE-headless? egal..)

Man könnte auf die Idee kommen, einfach Zulu Java17 zu nehmen, die Pakete gibt es nämlich auch für buster. Dummerweise nutzt openhabian-config aber auch eine Bibliothek, die mindestens auf dem Niveau von bullseye sein muss, die buster Version der Bibliothek funktioniert nicht.

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 20:24
von sami77
Vielen Dank!

Ich hatte leider nicht viel Zeit vorhin und konnte den Roll-back vollziehen, um auf die letzte Version zu kommen. Jetzt hab ich ein OS upgrade gemacht, Java 17 installiert und erfolgreich auf openHab4 geupdated! :-)

Viele Grüße!
Uwe

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 1. Aug 2023 21:05
von udo1toni
Prima!

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 2. Aug 2023 10:45
von sami77
Hat doch nicht ganz geklappt! :lol:

Bin noch auf 3.4.5, das Upgrade auf Bullseye und Java 17 hat aber geklappt.

Ich hatte alles wieder auf "unhold" gesetzt:

Code: Alles auswählen

openhabian@openhab:~ $ sudo apt-mark unhold openhab
openhabian@openhab:~ $ sudo apt-mark unhold openhab-addons
und die updates we beschrieben durchgeführt.

Wenn ich jetzt versuche in der

Code: Alles auswählen

sudo openhabian-config
01 - "Select branch" auszuwählen bekomme ich folgende Fehlermeldung:
[openHABian] Updating myself... mv: der Aufruf von stat f�r '/opt/openhabian/docs/NEWS.md' ist nicht m�glich: Datei oder Verzeichnis nicht gefunden
Ich denke das verhindert den Wechsel...

Suche mal weiter!
Danke schon mal und viele Grüße!
Uwe

Re: Upgrade zu Openhab4: Error [ERROR] [ternal.service.BootFeaturesInstaller]

Verfasst: 2. Aug 2023 12:50
von udo1toni
Puh, eigentlich sollte DAS den Upgradevorgang nicht ausbremsen.
Auf welchem Branch bist Du denn?

Du kannst einfach per

Code: Alles auswählen

sudo touch /opt/openhabian/docs/NEWS.md
dafür sorgen, dass openhabian-config die bemängelte Datei findet :) .md sind die in github verwendeten Textdateien, (md steht für MarkDown, die Art, wie Auszeichnungen im Text encodiert werden) Die NEWS.md wird beim Start von openhabian-config angezeigt.

Falls der Branch sich nicht korrekt tauschen lässt,wäre eine weitere Option, das Verzeichnis /opt/openhabian z.B. mittels

Code: Alles auswählen

sudo mv /opt/openhabian /opt/openhabian.old
auf die Seite zu legen und Dir z.B. über

Code: Alles auswählen

wget https://github.com/openhab/openhabian/archive/refs/heads/main.zip -O ~/openhabian.zip
sudo unzip ~/openhabian.zip -d /opt/
eine aktuelle Version zu holen.
Da das zip den Ordner nicht mit Namen openhabian enthält, sondern mit Namen openhabian-main, musst Du den Ordner noch verschieben:

Code: Alles auswählen

sudo mv /opt/openhabian-main /opt/openhabian
Schau auch nach den Besitzverhältnissen der Dateien, vermutlich werden die Dateien im "alten" openhabian-Ordner nicht root gehören, im neuen eventuell aber schon. Das kannst Du im Zweifel mit

Code: Alles auswählen

sudo chown openhabian: /opt/openhabian -R
schnell korrigieren. Das -R erledigt die Änderung rekursiv. Der angegebene Befehl ändert Besitz und Gruppenzuordnung auf openhabian.

Der beschriebene Weg ist für jemanden mit etwas Erfahrung auf der Konsole einfach, dennoch möchte ich es eher als vorletzten Ausweg sehen :) es ist nicht garantiert, dass anschließend alle Probleme - openhabian-config betreffend - beseitigt sind.