Forum: Compiler & IDEs Fehlermeldung avr-g++": file does not exist


von Belo L. (belo)


Lesenswert?

Liebe Leute,

ich bekomme seit neuem beim Übersetzten immer den folgenden Fehler:
"Arduino: 1.8.2 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, 
ATmega2560 (Mega 2560)"

exec: "C:\\Program Files 
(x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++": file does not exist
Fehler beim Kompilieren für das Board Arduino/Genuino Mega or Mega 
2560."

Diese Datei existiert aber. Was kann das sein ?

Viele Grüße

Belo

: Verschoben durch Moderator
von anfaenger (Gast)


Lesenswert?

Das mit den gemischten und teils doppelten Slashs/Backslashs kommt mir 
etwas seltsam vor. Da würde ich noch mal genau die Adresse checken.

von Belo L. (belo)


Lesenswert?

Ja, das ist merkwürdig. Ich vermute, dass der doppelte Backslash einfach 
der Maskierung des Backslash dienen soll.

Die Datei ist jedenfalls vorhanden. Was meinst du mit prüfen ?

Hat noch jemand weitere Ideen ?

: Bearbeitet durch User
von M. P. (matze7779)


Lesenswert?

Belo L. schrieb:
> Die Datei ist jedenfalls vorhanden.

Nein ist sie nicht.
1. Ist gar keine Datei angegeben.
2. Ist der Pfad ungültig.

von Belo L. (belo)


Lesenswert?

Es wird doch ein fehlendes File angemeckert. "file does not exist".

An der betreffenden Stelle ist eine Datei namens avr-g++.exe

Das fand ich aber auch merkwürdig. Deswegen habe ich mal eine Datei ohne 
Extension eingefügt: avr-g++. Gleiches Ergebnis.

Und jetzt habe ich dort ein Verzeichnis mit dem Namen avr-g++ erstellt. 
Aber auch das hilft nicht. Wieder exakt die gleiche Fehlermeldung.

Oder wie meinst du das ?

Wieso ist der Pfad ungültig ?

Viele Grüße

Belo

: Bearbeitet durch User
von anfaenger (Gast)


Lesenswert?

Poste mal deinen Programmcode.

von Brummbär (Gast)


Lesenswert?

Es geht hier ja eindeutig um Windows.

Auf diesem System ist das Trennzeichen für Pfadkomponenten der Backslash 
"\".
Doppelte Backslashes stören nicht, sind aber unschön. Einzelne 
Backslashes müssen in einem C-String als "\\" geschrieben werden.

Der Dateiname wäre in dieser Pfadangabe "/bin/avr-g++".
Einfache Slaches sind unter Windows nicht zugelassen Pfadkomponenten.

von Belo L. (belo)


Lesenswert?

Das kommt bei jedem Programmcode. Ich habe es auch mit den 
allereinfachsten Beispieldateien versucht, immer das gleiche. Hat also 
nichts mit dem Code, sondern mit der IDE zu tun.
Zum Beispiel auch bei diesem:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

: Bearbeitet durch User
von anfaenger (Gast)


Lesenswert?

IDE schon mal neu installiert?

von Stephan (Gast)


Lesenswert?

liegt an der IDE. Hatte ich auch schon. Neu installiert und gut. Vorher 
unter AppData die Einstellungen löschen !

von Belo L. (belo)


Lesenswert?

IDE schon mal neu installiert?

Ja, schon 2 Mal. Und den ganzen Ordner C:\\Program Files
(x86)\\Arduino gelöscht. Muss man vielleicht noch etwas anderes löschen?

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Ich kenne mich nicht aus mit Windows, deshalb nur eine Vermutung: Kann 
es sein, dass die Fehlermeldung nicht vom exec verursacht wird, sondern 
von deiner avr-g++.exe und damit eine fehlende Input-Datei gemeint ist? 
Irgendwo in den Einstellungen ein Pfad falsch? Gibt es keine 
ausführlicheren Meldungen?

von Wilhelm M. (wimalopaan)


Lesenswert?

Benutze einen Pfad ohne(!) Leerzeichen (die gehören nicht zum 
POSIX-portable character set) oder schalte die Metazeichenbedeutung von 
" " aus: "\ ", und verwende die richtigen Pfadtrenner (also auf Win$ den 
backslash "\", der ggf. in einem String auch ge-quoted werden muss, also 
dann "\\").

: Bearbeitet durch User
von Belo L. (belo)


Lesenswert?

Ich benutze das ja gar nicht, es handelt sich ja um eine Fehlermeldung.

Meinst du, dass in der Arduino IDE etwas der Separator falsch 
eingestellt ist, so dass er den Pfad nicht findet ? Wo/Wie kann ich den 
richtigen Separator einstellen ?

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

Belo L. schrieb:
> Ich benutze das ja gar nicht, es handelt sich ja um eine Fehlermeldung.

Verstehe ich nicht ...

> Meinst du, dass in der Arduino IDE etwas der Separator falsch
> eingestellt ist, so dass er den Pfad nicht findet ? Wo/Wie kann ich den
> richtigen Separator einstellen ?

Sorry, ich kenne die Arduino-IDE nicht. Ich kann mich nur auf die 
Fehlermeldung beziehen, wo ein exec()-Systemcall (der IDE offenbar) 
fehlschlägt. Und das kann die Gründe haben, die ich oben aufgelistet 
habe.

von Belo L. (belo)


Lesenswert?

"> Ich benutze das ja gar nicht, es handelt sich ja um eine 
Fehlermeldung.

Verstehe ich nicht ..."

Also ich rufe das nicht auf, sondern die IDE und die liefert eben diese 
Fehlermeldung. Ich habe keine Ahnung, warum er diese doppelten 
Backslashes und einfachen Slashes so macht. Ich habe das nicht so 
eingegeben oder so. Und weiß auch nicht, wo man da etwas ändern könnte.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Md M. schrieb:
> Ich kenne mich nicht aus mit Windows, deshalb nur eine Vermutung: Kann
> es sein, dass die Fehlermeldung nicht vom exec verursacht wird, sondern
> von deiner avr-g++.exe und damit eine fehlende Input-Datei gemeint ist?
> Irgendwo in den Einstellungen ein Pfad falsch? Gibt es keine
> ausführlicheren Meldungen?

Hast du das nicht gesehen oder es einfach als nicht wahrscheinlich 
erachtet? Die Arduino IDE macht aus deinem Sketch, also der .ino Datei 
erstmal normale .cpp Dateien. Siehe 
https://grahamwideman.wikispaces.com/Arduino+--+Project+structure+and+build+process 
unter "Sketch file transformation". Meine Vermutung ist, dass dein 
Compiler diese .cpp Dateien nicht findet. Unter Linux liegen diese files 
unter /tmp/arduino_build_[irgendeine Nummer]/ .

Edit:
Außerdem solltest du in den preferences verbose output aktivieren.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Brummbär schrieb:
> Einfache Slaches sind unter Windows nicht zugelassen Pfadkomponenten.

Ich hab noch nie Probleme mit Vorwärts-Slashes unter Windows gehabt.

von Belo L. (belo)


Lesenswert?

Liebe Leute,

ich möchte noch einmal an dieses Thema erinneren. Ich komme einfach 
nicht weiter.
Ich habe jetzt auch mal die portable Version versucht - und es ist das 
gleiche. Auch hier findet er diese Datei nicht, sucht nur in einem 
anderen Verzeichnis:
"F:\\arduino-1.8.2\\hardware\\tools\\avr/bin/avr-g++": file does not 
exist

Was kann das denn sein ?

Es gab zwar schon Hinweise, aber damit kann ich leider nicht so viel 
anfangen. Was könnte ich denn mal versuchen ?

Liebe Grüße

Belo

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Md M. schrieb:
> Kann es sein, dass die Fehlermeldung nicht vom exec verursacht wird,
> sondern von deiner avr-g++.exe und damit eine fehlende Input-Datei
> gemeint ist?

Nein.

von fast (Gast)


Lesenswert?

Belo L. schrieb:
> IDE schon mal neu installiert?
>
> Ja, schon 2 Mal. Und den ganzen Ordner C:\\Program Files
> (x86)\\Arduino gelöscht. Muss man vielleicht noch etwas anderes löschen?

bevor du arduino neu installierst solltest du den AppData Ordner 
löschen.

eventuell zu finden unter:

C:\Users\(username)\AppData\

von Bernd K. (prof7bit)


Lesenswert?

Den ganzen appdata Ordner löschen? Aber sonst gehts dir noch gut? Ich 
hoffe auf diesen boshaften "Scherz" fällt kein Anfänger rein.

: Bearbeitet durch User
von fast (Gast)


Lesenswert?

Bernd K. schrieb:
> Den ganzen appdata Ordner löschen? Aber sonst gehts dir noch gut?
> Ich
> hoffe auf diesen boshaften "Scherz" fällt kein Anfänger rein.

OMG, was hab ich getan. Sorry Bernd, bitte nicht machen - und
bitte immer erst deinen Papa fragen. Sorry nochmal.

von Belo L. (belo)


Lesenswert?

Ich habe aber zumindest mal in AppData alles gelöscht, was nach Arduino 
aussah. Aber das hat auch nicht geholfen :(

Gibt es noch andere Vorschläge ?

Liebe Grüße

Belo

: Bearbeitet durch User
von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Md M. schrieb:
> Außerdem solltest du in den preferences verbose output aktivieren.

Das schon gemacht? Hat es was weiterführendes bewirkt?

von Belo L. (belo)


Lesenswert?

Dann kommt diese Fehlermeldung. Hoffentlich sagt die euch mehr:

"Arduino: 1.8.2 (Windows 7), Board: "Arduino Leonardo"

F:\Belo\arduino-1.8.2\arduino-builder -dump-prefs -logger=machine 
-hardware F:\Belo\arduino-1.8.2\hardware -tools 
F:\Belo\arduino-1.8.2\tools-builder -tools 
F:\Belo\arduino-1.8.2\hardware\tools\avr -built-in-libraries 
F:\Belo\arduino-1.8.2\libraries -libraries F:\Belo\Eigene 
Dateien\Arduino\libraries -fqbn=arduino:avr:leonardo -ide-version=10802 
-build-path C:\Users\Belo\AppData\Local\Temp\arduino_build_284205 
-warnings=none -build-cache 
C:\Users\Belo\AppData\Local\Temp\arduino_cache_386558 
-prefs=build.warn_data_percentage=75 
-prefs=runtime.tools.avr-gcc.path=F:\Belo\arduino-1.8.2\hardware\tools\a 
vr 
-prefs=runtime.tools.avrdude.path=F:\Belo\arduino-1.8.2\hardware\tools\a 
vr 
-prefs=runtime.tools.arduinoOTA.path=F:\Belo\arduino-1.8.2\hardware\tool 
s\avr  -verbose 
C:\Users\Belo\AppData\Local\Temp\untitled1761093403.tmp\sketch_may05a\sk 
etch_may05a.ino
F:\Belo\arduino-1.8.2\arduino-builder -compile -logger=machine -hardware 
F:\Belo\arduino-1.8.2\hardware -tools 
F:\Belo\arduino-1.8.2\tools-builder -tools 
F:\Belo\arduino-1.8.2\hardware\tools\avr -built-in-libraries 
F:\Belo\arduino-1.8.2\libraries -libraries F:\Belo\Eigene 
Dateien\Arduino\libraries -fqbn=arduino:avr:leonardo -ide-version=10802 
-build-path C:\Users\Belo\AppData\Local\Temp\arduino_build_284205 
-warnings=none -build-cache 
C:\Users\Belo\AppData\Local\Temp\arduino_cache_386558 
-prefs=build.warn_data_percentage=75 
-prefs=runtime.tools.avr-gcc.path=F:\Belo\arduino-1.8.2\hardware\tools\a 
vr 
-prefs=runtime.tools.avrdude.path=F:\Belo\arduino-1.8.2\hardware\tools\a 
vr 
-prefs=runtime.tools.arduinoOTA.path=F:\Belo\arduino-1.8.2\hardware\tool 
s\avr  -verbose 
C:\Users\Belo\AppData\Local\Temp\untitled1761093403.tmp\sketch_may05a\sk 
etch_may05a.ino
Using board 'leonardo' from platform in folder: 
F:\Belo\arduino-1.8.2\hardware\arduino\avr
Using core 'arduino' from platform in folder: 
F:\Belo\arduino-1.8.2\hardware\arduino\avr
Detecting libraries used...
"F:\Belo\arduino-1.8.2\hardware\tools\avr/bin/avr-g++" -c -g -Os -w 
-std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections 
-fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC 
-mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10802 
-DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 
-DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino 
Leonardo"' "-IF:\Belo\arduino-1.8.2\hardware\arduino\avr\cores\arduino" 
"-IF:\Belo\arduino-1.8.2\hardware\arduino\avr\variants\leonardo" 
"C:\Users\Belo\AppData\Local\Temp\arduino_build_284205\sketch\sketch_may 
05a.ino.cpp"  -o "nul"
Generating function prototypes...
"F:\Belo\arduino-1.8.2\hardware\tools\avr/bin/avr-g++" -c -g -Os -w 
-std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections 
-fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC 
-mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10802 
-DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 
-DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino 
Leonardo"' "-IF:\Belo\arduino-1.8.2\hardware\arduino\avr\cores\arduino" 
"-IF:\Belo\arduino-1.8.2\hardware\arduino\avr\variants\leonardo" 
"C:\Users\Belo\AppData\Local\Temp\arduino_build_284205\sketch\sketch_may 
05a.ino.cpp"  -o 
"C:\Users\Belo\AppData\Local\Temp\arduino_build_284205\preproc\ctags_tar 
get_for_gcc_minus_e.cpp"
exec: "F:\\Belo\\\arduino-1.8.2\\hardware\\tools\\avr/bin/avr-g++": file 
does not exist
Fehler beim Kompilieren für das Board Arduino Leonardo."

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Belo L. schrieb:
> F:\\Belo\\\arduino-1.8.2\\hardware\\tools\\avr/bin

Und, gibt es in diesem Verzeichnis ("Ordner") auch irgendwelche 
*.exe-Dateien?

Hast Du da mal nachgesehen?

von Bernd K. (prof7bit)


Lesenswert?

Rufus Τ. F. schrieb:
> Belo L. schrieb:
>> F:\\Belo\\\arduino-1.8.2\\hardware\\tools\\avr/bin
>
> Und, gibt es in diesem Verzeichnis ("Ordner") auch irgendwelche
> *.exe-Dateien?

Es ruft den Compiler mindestens zweimal auf (unter genau dem selben 
Namen), nur beim zweiten Mal krachts, beim ersten mal scheints laut 
obiger Ausgabe zu funktiuonieren was mich nun etwas stutzig macht.

von Bernd K. (prof7bit)


Lesenswert?

Belo L. schrieb:
> Ich habe aber zumindest mal in AppData alles gelöscht, was nach Arduino
> aussah. Aber das hat auch nicht geholfen :(

Es gibt mehrere solcher Ordner, z.B. Roaming oder Local (oder wie die 
sonst noch alle heißen, eventuell auch ne Ebene höher direkt im 
Benutzerordner und eventuell auch versteckt, also vorher versteckte 
Dateien anzeigen einstellen) schau da auch mal überall nach ob da noch 
was rumfleucht.

: Bearbeitet durch User
von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Ist das vielleicht irgend ein Relikt aus .org/.cc Zeiten? Irgendwas 
gemischt?

von Frank L. (florenzen)


Lesenswert?

Belo L. schrieb:
> Dann kommt diese Fehlermeldung. Hoffentlich sagt die euch mehr:

[...]

> "C:\Users\Belo\AppData\Local\Temp\arduino_build_284205\sketch\sketch_may 
05a.ino.cpp"  -o
> "C:\Users\Belo\AppData\Local\Temp\arduino_build_284205\preproc\ctags_tar 
get_for_gcc_minus_e.cpp"
> exec: "F:\\Belo\\\arduino-1.8.2\\hardware\\tools\\avr/bin/avr-g++": file
> does not exist
> Fehler beim Kompilieren für das Board Arduino Leonardo."

Fängt hinter dem -o eine neue Zeile an oder hat das die Forumssoftware 
zerstückelt?


Gruß
f

von Belo L. (belo)


Lesenswert?

... das ist die Forumsoftware, es ist eigentlich eine Zeile.

Noch Ideen ?

Viele Grüße

Belo

von Kaj (Gast)


Lesenswert?

Belo L. schrieb:
> das ist die Forumsoftware, es ist eigentlich eine Zeile.
Einfach in die Tags [ pre ] [ /pre ] einschliessen, dann ist das auch 
kein Problem...

Formatierung im Forum
https://www.mikrocontroller.net/articles/Formatierung_im_Forum

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Magst du mal versuchen, für ein paar andere Boards zu compilen? Außerdem 
zeig doch mal deine preferences.txt und deine platform.txt

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Ist es vielleicht exec, was nicht gefunden wird? PATH kaputt? Kannst 
du exec in der cmd ausführen? Vielleicht mit einem einfach Kommando, 
welches ohne exec mit sicherheit funktioniert? ipconfig oder sowas.

von Noob (Gast)


Lesenswert?

Den Virenscanner abschalten, dann läufts...

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Noob schrieb:
> Den Virenscanner abschalten, dann läufts...

Wie kommst du darauf? Außerdem: Hast du mal aufs Datum geguckt?

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.