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

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

pako91
Beiträge: 2
Registriert: 30. Jul 2023 13:02
Answers: 0

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

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag 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?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

sami77
Beiträge: 86
Registriert: 25. Sep 2017 19:04
Answers: 1

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

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag von udo1toni »

Dein Erfolg besteht also darin, dass Du zu openHAB3.4.5 zurückgekehrt bist und diese Version auf hold gesetzt hast?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

sami77
Beiträge: 86
Registriert: 25. Sep 2017 19:04
Answers: 1

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

Beitrag von sami77 »

Ich hab geschrieben "dass es mir geholfen hat"...

Es lief nämlich leider gar nichts mehr!

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag 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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

sami77
Beiträge: 86
Registriert: 25. Sep 2017 19:04
Answers: 1

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

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag von udo1toni »

Prima!
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

sami77
Beiträge: 86
Registriert: 25. Sep 2017 19:04
Answers: 1

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

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag 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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten