Debuggen van picockpit-client problemen

Pi wordt weergegeven als offline

Controleer of de picockpit-client service actief is op uw Raspberry Pi. Open een terminal en schrijf:

sudo service picockpit-client status

Dit zal je de volgende uitvoer geven, als picockpit-client actief is en correct werkt:

service picockpit-client status, actief (bezig)

Onderzoek nu de log output. U kunt het naar een bestand dumpen met het volgende commando, om het naar ons te sturen, zodat we het probleem kunnen analyseren:

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt
deel van het logboek van journalctl

GLIBC Fout

Terwijl u picockpit-client probeert te installeren/uit te voeren, ziet u een bericht dat lijkt op het volgende:

/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: versie `GLIBC_2.28' niet gevonden (vereist door /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: versie `GLIBC_2.25' niet gevonden (vereist door /usr/share/picockpit-client/bin/python)
/usr/share/picockpit-client/bin/python: /lib/arm-linux-gnueabihf/libc.so.6: versie `GLIBC_2.26' niet gevonden (vereist door /usr/share/picockpit-client/bin/python)

Dit probleem toont aan dat u een niet-compatibel besturingssysteem versie. Het kan bijvoorbeeld voorkomen als je picockpit-client draait op Raspbian Stretch, de vorige Raspbian release.

Op dit moment is alleen de huidige grote release van Raspberry Pi OS "Buster" wordt ondersteund.

Technische uitleg: de Python die met picockpit-client wordt meegeleverd is afhankelijk van een bepaalde versie van de bibliotheek GLIBC, namelijk 2.28. Andere versies van Raspbian worden geleverd met oudere / andere versies van GLIBC.

"De interface tussen een app en libc is voorwaarts compatibel met nieuwere releases, maar het is niet achterwaarts compatibel met oudere releases."

workaround voor GLIBC fout

De volgende informatie is niet getest, maar ik geef het voor leden van de gemeenschap die bereid zijn om te experimenteren. Uw feedback op deze oplossing is van harte welkom, laat ons alstublieft weten wat voor u werkt op welk OS.

Met behulp van een hulpmiddel genaamd patchelf, kan je binaries aanpassen om aangepaste versies van gedeelde (dynamisch gelinkte) bibliotheken te gebruiken. Daarbij zou je de vereiste bibliotheken kunnen toevoegen aan een aangepaste map in je mapstructuur, en picockpit-client's python aanpassen (te vinden in /usr/share/picockpit-client/bin/python ) om ze te gebruiken.

De volgende links zouden nuttig moeten zijn (let op ze zijn niet Debian / Raspberry Pi OS specifiek):

Als je dit pad bewandelt en succes hebt, laat het ons dan weten zodat we de oplossing met iedereen kunnen delen.

In de toekomst ben ik van plan om picockpit-client te porten naar de Go taal, en het statisch te linken met musl in plaats van glibc; op deze manier zou het portable moeten zijn over een grotere variëteit van systemen.

Problemen melden

Wanneer u een ander probleem rapporteert, of een probleem dat niet opgelost kan worden met de tips op deze pagina, gelieve dan screenshots van de PiCockpit webinterface mee te sturen, en de logs van de webinterface en de picockpit-client.

log voor picockpit-client

Hier zijn instructies over hoe de picockpit-client log te openen op Raspberry Pi OS op de opdrachtregel van de Raspberry Pi:

sudo su
journalctl -u picockpit-client --since "4 days ago" > /tmp/picockpit-client2.txt

Voeg de log output bij uw email.

log voor de webinterface

Om ons te helpen met verdere debugging, kunt u ook de Developer Tools openen (op Chrome: Ctrl + Shift + I), en ons de uitvoer van de JavaScript-console sturen. Klik met de rechtermuisknop op een van de logregels, en selecteer "Opslaan als" om een logbestand op te slaan.

Opmerking: als u Firefox, Edge of een andere browser gebruikt, zal de manier om toegang te krijgen tot de loguitvoer verschillen.

Om een probleem te melden, gelieve neem contact met ons op via de pi3g contact pagina (onze moedermaatschappij).