Raspberry remote compiler error

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Raspberry remote compiler error

Beitrag von Christiandomes » 13.07.2019 20:39:47

Hallo erstmals

Ich möchte mit meinem Raspberry Funksteckdosen steuern dafür braucht man unter anderem raspberry-remote doch wenn ich make send machen dann gibt es einen Kompiler Fehler

Code: Alles auswählen

root@raspberrypi:~# cd raspberry-remote
root@raspberrypi:~/raspberry-remote# make send
g++ -Wall -lwiringPi   -c -o RCSwitch.o RCSwitch.cpp
RCSwitch.cpp:31:42: warning: converting to non-pointer       type ‘long unsigned int’ from NULL [-Wconversion-null]
 unsigned long RCSwitch::nReceivedValue = NULL;
                                          ^~~~
RCSwitch.cpp: In constructor ‘RCSwitch::RCSwitch()’:
RCSwitch.cpp:41:30: warning: converting to non-pointer       type ‘long unsigned int’ from NULL [-Wconversion-null]
   RCSwitch::nReceivedValue = NULL;
                              ^~~~
RCSwitch.cpp: In member function ‘char* RCSwitch::getCo      deWordB(int, int, boolean)’:
RCSwitch.cpp:218:12: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
     return '\0';
            ^~~~
RCSwitch.cpp: In member function ‘char* RCSwitch::getCo      deWordA(char*, int, boolean)’:
RCSwitch.cpp:261:14: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
       return '\0';
              ^~~~
RCSwitch.cpp:270:14: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
       return '\0';
              ^~~~
RCSwitch.cpp: In member function ‘char* RCSwitch::getCo      deWordD(char*, int, boolean)’:
RCSwitch.cpp:335:14: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
       return '\0';
              ^~~~
RCSwitch.cpp:344:14: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
       return '\0';
              ^~~~
RCSwitch.cpp: In member function ‘char* RCSwitch::getCo      deWordC(char, int, int, boolean)’:
RCSwitch.cpp:388:12: error: invalid conversion from ‘ch      ar’ to ‘char*’ [-fpermissive]
     return '\0';
            ^~~~
RCSwitch.cpp: In member function ‘void RCSwitch::enable      Receive()’:
RCSwitch.cpp:569:32: warning: converting to non-pointer       type ‘long unsigned int’ from NULL [-Wconversion-null]
     RCSwitch::nReceivedValue = NULL;
                                ^~~~
RCSwitch.cpp:570:36: warning: converting to non-pointer       type ‘unsigned int’ from NULL [-Wconversion-null]
     RCSwitch::nReceivedBitlength = NULL;
                                    ^~~~
RCSwitch.cpp: In member function ‘bool RCSwitch::availa      ble()’:
RCSwitch.cpp:582:38: warning: NULL used in arithmetic        -Wpointer-arith]
   return RCSwitch::nReceivedValue != NULL;
                                      ^~~~
RCSwitch.cpp: In member function ‘void RCSwitch::resetA      vailable()’:
RCSwitch.cpp:586:30: warning: converting to non-pointer       type ‘long unsigned int’ from NULL [-Wconversion-null]
   RCSwitch::nReceivedValue = NULL;
                              ^~~~
make: *** [<eingebaut>: RCSwitch.o] Fehler 1

DeletedUserReAsG

Re: Raspberry remote compiler error

Beitrag von DeletedUserReAsG » 13.07.2019 20:53:10

Aha.

Oder gab’s da noch ’ne Frage, sowie weiterführende Infos (Betriebssystem, Versionen, Quelle der Sourcen, etc.) zu?

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 13.07.2019 21:06:50

Habe debian 10

Bei debian 9 hat alles Funktioniert

DeletedUserReAsG

Re: Raspberry remote compiler error

Beitrag von DeletedUserReAsG » 13.07.2019 21:09:37

Dann ist ja gut.

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 09:42:05

Kann mir jemand helfen dass ich das für debian 10 auch hinbekomme

DeletedUserReAsG

Re: Raspberry remote compiler error

Beitrag von DeletedUserReAsG » 14.07.2019 10:04:15

Vielleicht möchtest du doch ein paar Infos (siehe oben) liefern?

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 11:55:23

Nach dieser Anleitung hats bei debian 9 geklappt.
Dich bei debian 10 nicht.

https://smarthome-blogger.de/tutorial/s ... -schalten/

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Raspberry remote compiler error

Beitrag von MSfree » 14.07.2019 12:09:59

Christiandomes hat geschrieben: ↑ zum Beitrag ↑
14.07.2019 11:55:23
Nach dieser Anleitung hats bei debian 9 geklappt.
Dich bei debian 10 nicht.
Zunächst einmal, du hast nicht Debian 9 sondern Raspbian 9, ein kleiner aber feiner Unterschied.

Was erwartest du denn, wenn der Quellcode voller Fehler steckt? Daß der ältere Compiler in Raspbian 9 unter Umständen gewisse Fehler nur als Warnung ausgegeben hat und damit sich der Codemüll übersetzen ließ, ist eigentlich ein ganz schlechtes Zeichen. Mit solchem Quellcode entstehen Sicherheitslücken, Bufferoverflows etc., die zum Einschleusen von Malware dienen.

Der Compiler hat jedenfalls völlig Recht, wenn er hier die Mitarbeit verweigert, das sind nunmal eklatante Fehler, die vorher zu beseitigen sind. Du hast den Quellcode, also bereinige ihn und gib die Änderungen an die Entwickler zurück, die freuen sich auch über Bereingungen.

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 12:18:18

Ich habe kein raspbian 9 sondern 10

Ich kann den Quellcode nicht berreinigen weil ich davon keine Ahnung habe

Bei rasbian 9 hat alles geklappt aber bei meiner version nicht

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Raspberry remote compiler error

Beitrag von MSfree » 14.07.2019 13:13:44

Christiandomes hat geschrieben: ↑ zum Beitrag ↑
14.07.2019 12:18:18
Ich kann den Quellcode nicht berreinigen weil ich davon keine Ahnung habe
Dann solltest du die Entwickler kontaktieren, die den Code bei github eingestellt haben.
Bei rasbian 9 hat alles geklappt aber bei meiner version nicht
Der Quellcode ist 4 Jahre alt. Der Fehler exisiert also schon genauso lange. Raspbian 9 hatte noch einen älteren Compiler, der die Fehler dummerweise ignoriert hat und zufällig halbwegs funktionierenden Code erzeuget hat. Fehler bleibt aber Fehler.

Der Fehler ist übrigens auf Github bekannt:
https://github.com/xkonni/raspberry-remote/issues/31

Der Vorschlag dort lautet, im Makefile die Zeile mit

Code: Alles auswählen

CXXFLAGS += -Wall
zu ändern in:

Code: Alles auswählen

CXXFLAGS += -Wall -fpermissive
Aus meiner Sicht ist das aber Pfusch und wird auch hier:
https://github.com/xkonni/raspberry-remote/issues/32
eher als "Hotfix" statt als Lösung gesehen.

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 14:10:09

Ist egal hauptsache es funktuniert irgendwie

Aber wo finde ich die makefile

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: Raspberry remote compiler error

Beitrag von Teddybear » 14.07.2019 14:31:16

Christiandomes hat geschrieben: ↑ zum Beitrag ↑
14.07.2019 14:10:09
Aber wo finde ich die makefile
In deinem Verzeichnis wo du die Sourcen hin entpackt hast.
Dort befindet sich eine Datei namens Makefile.
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 14:41:39

Welche sourcen

Kenn mich da überhaupt nicht aus

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: Raspberry remote compiler error

Beitrag von Teddybear » 14.07.2019 14:48:16

In dem Verzeichnis raspberry-remote auf deinem Pi.
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 14:48:53

Ich habe die make file


Die sieht bei mir so aus

DESCRIPTION = "RCSwitch on Raspberry Pi"
LICENSE = "GPL"
VERSION = 1.0

CXXFLAGS += -Wall
CXXFLAGS += -lwiringPi

default: daemon

daemon: RCSwitch.o daemon.o
$(CXX) -Wall -pthread $+ -o $@ $(CXXFLAGS) $(LDFLAGS)

send: RCSwitch.o send.o
$(CXX) $+ -o $@ $(CXXFLAGS) $(LDFLAGS)

clean:
rm -f *.o send daemon

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: Raspberry remote compiler error

Beitrag von Teddybear » 14.07.2019 14:51:02

Ja...

Und nun änderst du diesen Teil ab:

Code: Alles auswählen

CXXFLAGS += -Wall
CXXFLAGS += -lwiringPi
Und machst daraus:

Code: Alles auswählen

CXXFLAGS += -Wall -fpermissive
CXXFLAGS += -lwiringPi
Danach führst du erstmal

Code: Alles auswählen

make clean
aus und dann versuchst es nochmal mit

Code: Alles auswählen

make send
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Christiandomes
Beiträge: 9
Registriert: 13.07.2019 20:22:01

Re: Raspberry remote compiler error

Beitrag von Christiandomes » 14.07.2019 14:51:30

Ok danke für deine Hilfe habe die makefile bearbeitet

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Raspberry remote compiler error

Beitrag von MSfree » 14.07.2019 16:17:59

Christiandomes hat geschrieben: ↑ zum Beitrag ↑
14.07.2019 14:41:39
Welche sourcen

Kenn mich da überhaupt nicht aus
Ganz ehrlich, du bist ganz schön blauäugig, aus fremden Quellen Software runterzuladen und zu installieren, ohne verstanden zu haben, was für Befehle du da ausgeführt hast. Dir hätte man auf die Weise auch ziemlich problemlos Emotet unterschieben können.

Antworten