Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Installations Abbruch] Skriptfehler laut Ausgabe #71

Closed
kermit20 opened this issue Feb 16, 2022 · 4 comments
Closed

[Installations Abbruch] Skriptfehler laut Ausgabe #71

kermit20 opened this issue Feb 16, 2022 · 4 comments

Comments

@kermit20
Copy link

kermit20 commented Feb 16, 2022

Hi all, ich betreibe nun ein paar Monate ein Hauskraftwerk. Bin nun auf das tolle Projekt gestoßen und möchte es umsetzen. Bereits vor ein paar Wochen habe ich einen Testlauf gewagt, dieser war in der Ausführung nicht erfolgreich -> Bildliche Darstellung brach immer ab... nun bin ich das Thema erneut angegangen... leider scheitert es nun bereits am [make] und somit des Kompilierens.

Umgebung ist:

  • RaspberryPi 3B+
  • Image Debian 11 Bullseye
    • neu aufgesetzt
  • WiringPI -> aus github installiert... da Projektordner nicht verfügbar.
  • In der [parameter.h] Datei nur die rudimentären Grundeinstellungen gemacht alles aus außer E3DC
  • Autologin für user pi auf Console gesetzt
pi@raspberrypi:~/E3dcGui $ make
rm copyPara
cc -O1 copyPara.c -o copyPara
rm watchdog
g++ -O1 Watchdog.cpp -o watchdog
rm screenSave
rm: das Entfernen von 'screenSave' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:54: cleanSS] Fehler 1 (ignoriert)
cc -O1 screenSave.c -o screenSave
In file included from screenSave.c:18:
Frame/framebuffer.c: In function ‘framebufferInitialize’:
Frame/framebuffer.c:222:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  222 |  if ((int)fbp == -1) {
      |      ^
In file included from screenSave.c:20:
Frame/DrawImage.h: In function ‘DrawImage’:
Frame/DrawImage.h:221:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  221 |     if ((int)fbpI == -1) {
      |         ^
rm screenSaveHM
cc -O1 screenSaveHM.c -o screenSaveHM -lwiringPi
In file included from screenSaveHM.c:17:
Frame/framebuffer.c: In function ‘framebufferInitialize’:
Frame/framebuffer.c:222:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  222 |  if ((int)fbp == -1) {
      |      ^
In file included from screenSaveHM.c:19:
Frame/DrawImage.h: In function ‘DrawImage’:
Frame/DrawImage.h:221:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  221 |     if ((int)fbpI == -1) {
      |         ^
rm GuiMain
rm: das Entfernen von 'GuiMain' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:58: cleanGM] Fehler 1 (ignoriert)
cc -O1 GuiMain.c -lcurl -o GuiMain -lwiringPi
In file included from GuiMain.c:23:
Frame/framebuffer.c: In function ‘framebufferInitialize’:
Frame/framebuffer.c:222:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  222 |  if ((int)fbp == -1) {
      |      ^
In file included from GuiMain.c:27:
Frame/DrawImage.h: In function ‘DrawImage’:
Frame/DrawImage.h:221:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  221 |     if ((int)fbpI == -1) {
      |         ^
In file included from External/WetterGui.h:9,
                 from GuiMain.c:33:
External/weather/get_weather_data.h: At top level:
External/weather/get_weather_data.h:8:10: fatal error: curl/curl.h: Datei oder Verzeichnis nicht gefunden
    8 | #include <curl/curl.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:29: GuiMain] Fehler 1
pi@raspberrypi:~/E3dcGui $

Gibt es eine Abhängigkeit zum neuen Debian ? Oder habe ich schlicht was falsch gemacht ?

@nischram
Copy link
Owner

Hey,

ich sehe in deiner Ausgabe zwei Probleme.

  1. warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] an der Positionif ((int)fbpI == -1) {
  2. curl/curl.h: Datei oder Verzeichnis nicht gefunden

Problem 1 könnte damit zusammenhängen, dass dein Debian schon ein 64Bit System ist und dieSoftware für 32Bit Systeme erstellt wurde. Ich habe hier was gefunden: https://pcjustin.github.io/2017/12/07/2017-12-06-intptr_t/
Ich habe es bei mir gleich mal getestet ob es eine negative Auswirkung hat. Die Änderung wirkt sich nicht aus es läuft trotzdem. Somit könnte es bei dir helfen. Folgendes musst du dann machen. In der Datei Frame/framebuffer.c die Zeile 222 von
if ((int)fbp == -1) {
nach
if ((intptr_t)fbp == -1) {
ändern.
Und in der Datei Frame/DrawImage.h die Zeile 221 genauso wie zuvor ändern. Wenn das klappt kann ich es ja in der nächsten Version anpassen.
Jetzt kommt noch ein ABER, wenn das Problem an 64Bit liegt, dann werden noch andere Probleme auftreten. Auch die RSCP könnte dann Probleme machen.

Problem 2: Da musst du die Library von curl noch installieren. Das hat was mit dem Wetterbereich zu tun (auch wenn der nicht genutzt werden soll) https://github.com/nischram/E3dcGui#2-wetteranzeige
Installiert wird curl mit:
sudo apt-get install libcurl4-openssl-dev

So jetzt bin ich ja mal gespannt wie viel weiter du kommst. Viel Erfolg

Gruß Nico

nischram added a commit that referenced this issue Feb 17, 2022
- Issue #71 Anderer cast für Variable um Fehler zu vermeiden
- Issue #72 Refresh für die Displayanzeige war falsch in der IF-Schleife eingefügt
- Issue #73 Fehlende Datei hochgeladen und überflüssige Dateien gelöscht
- Text in Anzeige für "PVI-Down" und "LM-Down" ersetzt duch Grafiken für "PV Off" und "LM Off"
@nischram
Copy link
Owner

Hey,
zur Info, ich habe gerade noch was anderes behoben und entschieden die Änderung einfach zu übernehmen. So kannst du jetzt einfach ein Update machen und muss nicht die Dateien einzeln anpassen.
Gruß Nico

@kermit20
Copy link
Author

Hi, danke für deine Mühe... ich bin leider gerade erst zum Testen gekommen. Ich hatte aus Frust die SD Karte mit der 32 Bit Variante geflashed und es installiert. Dort hat es auch funktioniert.... mit der Ausnahme, dass der "Touch" des Bildschirms nicht ging.

nun habe ich eben eine zweite SD Karte genommen und das 64bit System neu aufgesetzt, dank deiner bereits vorgenommenen Änderungen lief es nun durch. Ich teste nun mal den Rest.

pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $ sudo apt-get install libcurl4-openssl-dev
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:
  libfuse2
Verwenden Sie »sudo apt autoremove«, um es zu entfernen.
Vorgeschlagene Pakete:
  libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libssl-dev
Die folgenden NEUEN Pakete werden installiert:
  libcurl4-openssl-dev
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 422 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 1.603 kB Plattenplatz zusätzlich benutzt.
Holen:1 http://deb.debian.org/debian bullseye/main arm64 libcurl4-openssl-dev arm64 7.74.0-1.3+deb11u1 [422 kB]
Es wurden 422 kB in 0 s geholt (2.639 kB/s).
Vormals nicht ausgewähltes Paket libcurl4-openssl-dev:arm64 wird gewählt.
(Lese Datenbank ... 90981 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../libcurl4-openssl-dev_7.74.0-1.3+deb11u1_arm64.deb ...
Entpacken von libcurl4-openssl-dev:arm64 (7.74.0-1.3+deb11u1) ...
libcurl4-openssl-dev:arm64 (7.74.0-1.3+deb11u1) wird eingerichtet ...
Trigger für man-db (2.9.4-2) werden verarbeitet ...
pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $
pi@raspberrypi:~/E3dcGui $ make
rm copyPara
rm: das Entfernen von 'copyPara' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:50: cleanCP] Fehler 1 (ignoriert)
cc -O1 copyPara.c -o copyPara
rm watchdog
rm: das Entfernen von 'watchdog' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:52: cleanWD] Fehler 1 (ignoriert)
g++ -O1 Watchdog.cpp -o watchdog
rm screenSave
rm: das Entfernen von 'screenSave' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:54: cleanSS] Fehler 1 (ignoriert)
cc -O1 screenSave.c -o screenSave
rm screenSaveHM
rm: das Entfernen von 'screenSaveHM' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:56: cleanSSHM] Fehler 1 (ignoriert)
cc -O1 screenSaveHM.c -o screenSaveHM -lwiringPi
rm GuiMain
rm: das Entfernen von 'GuiMain' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:58: cleanGM] Fehler 1 (ignoriert)
cc -O1 GuiMain.c -lcurl -o GuiMain -lwiringPi
rm start
rm: das Entfernen von 'start' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:62: cleanSTART] Fehler 1 (ignoriert)
cc -O1 start.c -o start
rm stop
rm: das Entfernen von 'stop' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:64: cleanSTOP] Fehler 1 (ignoriert)
cc -O1 stop.c -o stop
rm RscpMain
rm: das Entfernen von 'RscpMain' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:66: cleanRM] Fehler 1 (ignoriert)
g++ -O3 RscpMain.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o RscpMain
rm Rscp/RscpSet
rm: das Entfernen von 'Rscp/RscpSet' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:68: cleanRSet] Fehler 1 (ignoriert)
g++ -O3 Rscp/RscpSet.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o Rscp/RscpSet
rm S10history/S10history
rm: das Entfernen von 'S10history/S10history' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: [Makefile:72: cleanHISTORY] Fehler 1 (ignoriert)
g++ -O3 S10history/S10history.cpp S10history/RscpReader.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o S10history/S10history
pi@raspberrypi:~/E3dcGui $ cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
pi@raspberrypi:~/E3dcGui $ getconf LONG_BIT
64
pi@raspberrypi:~/E3dcGui $

Danke und Gruß

@nischram
Copy link
Owner

nischram commented Apr 7, 2022

Hey,

so wie ich es verstanden haben und weil ich nichts mehr gehört habe, gehe ich mal davon aus, dass es läuft.
Somit schließe ich diesen Issue.

Viele Grüße Nico

@nischram nischram closed this as completed Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants