Was sagt mir diese Fehlermeldung?

Hallo,
ich stehe ja in sachen Arduino noch ganz am Anfang, aber lngsam wirds... :wink:

Für ein Projekt soll ich in die Bibliothek (Libaries) eine bestimmte Libary einbinden, das habe ich auch gemacht (über die Bibliotheksverwaltung). Doch sowohl schon beim Einbinden der Libary, als auch bei späteren Überprüfen/Hochladen des Sketches wird mir immer diese Fehlermeldung (s. Foto) unten angezeigt. Das Programm ansich funktioniert halbwegs, allerdings muss ich mehrfach resetten, bis das Display (Nokia 5110) endlich was anzeigt. Dann allerdings funktioniert alles.

Keine Ahnung ob die Startprobleme mit dieser Fehlermeldung zusammenhängen, aber irgendwas ist faul.

Old-Papa

Bei mir heißt das Verzeichnis U8g2.

old-papa:
Doch sowohl schon beim Einbinden der Libary, als auch bei späteren Überprüfen/Hochladen des Sketches wird mir immer diese Fehlermeldung (s. Foto) unten angezeigt.

Das sieht komisch aus - als wäre die lib nicht richtg installiert.
Was passiert, wenn Du unter Datei-Beispiele ein Example aus der lib versuchst zu kompilieren?

Wenn der Kompiler durch ist, kannst Du in das untere >Fenster klicken und mit STRG-A alles markieren, und mit STRG-C alles kopieren.
Dann die komplette Fehlermeldung in Codetags hier einfügen.

Hmmm, manchmal isset komisch, jetzt geht das plötzlich wieder, keine Fehlermeldung mehr. Und nein, ich habe nichts geändert, nichtmal den Rechner neu gestartet.

Der Sketch verwendet 15946 Bytes (51%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 984 Bytes (48%) des dynamischen Speichers, 1064 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Ich habe jetzt das "Hello World" Beispiel geöffnet und kompiliert, keine Fehler (nachdem ich den passenden Chip gewählt habe)!

Ich habe aber eine leise Ahnung....
Kann es sein, dass die Verzeichnistiefe zu groß ist? Meine ganzen Projekte, Texte, Daten, Fotos und Gedöhns liegen alles auf einem großen NAS auf dem Dachboden. Dort und nur dort wird alles gespeichert. Auf den Rechnern (habe einige) ist immer nur das Nötigste. Natürlich sind auf dem Nas diverse Unterverzeichnisse zu den einzelnen Gruppen (Fotos, Maschinenbau, Elektronik, Spiele, Diverses...) und darin wieder Verzeichnisse und darin.... Die Verschachtelungstiefe ist schon etwas groß.
Testweise werde ich mal ein Testverzeichnis in der Hauptebene anlegen.

Und NEIN, ich werde ganz bestimmt nicht anfangen auf LW C: oder D: irgendwas zu speichern, was da nichts zu suchen hat. Eher fliegt das Gedöhns von den Platten (dann eben ohne Arduino)

Gruß
Old-Papa
Ja, nach über 40 Jahren PC-Befassung habe ich so meine schmerzvollen Erfahrungen.

Hallo Old-Papa,
ich denke, Deine Vermutung bzgl. der zu tiefen Ordnerstruktur ist wohl richtig, allerdings sind die Schlußfolgerungen falsch!
Der Schuldige ist hier wohl Microsoft und nicht Arduino. Diese Art Probleme sind im Windows-Umfeld auch in den neuesten Versionen zwar sporadisch, aber noch immer üblich.
Nach 40 Jahren PC-Befassung sollte Dir das schon klar sein.

Gruß eMeS

old-papa:
Hmmm, manchmal isset komisch, jetzt geht das plötzlich wieder, keine Fehlermeldung mehr. Und nein, ich habe nichts geändert, nichtmal den Rechner neu gestartet.

Welche IDE-Version benutzt Du?
Mit der .13 hab ich auch meine Probleme, seitdem bin ich wieder zurück auf die .10 und die läuft fehlerfrei durch.

Ja, nach über 40 Jahren PC-Befassung habe ich so meine schmerzvollen Erfahrungen.

dann ist dir 8.3, keine Leerschritte, keine Sonderzeichen sicher ein Begriff.
einfach aus Prinzip, weil es immer schon so war und weil es einem sonst irgendwann doch auf den Kopf fällt.

Nichts neues oder :wink:

Oder sowas wie einen eigener Laufwerksbuchstabe für das "Arduino" Verzeichnis bekommst ja geschenkt am NAS.

Wenn NAS vorhanden, könntest auch gleich über ein GIT oder SVN Repository nachdenken.

Hallo,

nur mal so. Es ist egal ob dein Rechner oder das NAS irgendwann einmal rumzickt. Ein Backup sollte man denoch regelmäßig anfertigen. Warum das NAS auf dem Dachboden steht und nicht im kühleren Keller weiß ich auch nicht recht. Das man Texte nicht als Bild postet sollte nach 40 Jahren auch klar sein.

Doc_Arduino:
Hallo,

nur mal so. Es ist egal ob dein Rechner oder das NAS irgendwann einmal rumzickt. Ein Backup sollte man denoch regelmäßig anfertigen. Warum das NAS auf dem Dachboden steht und nicht im kühleren Keller weiß ich auch nicht recht. Das man Texte nicht als Bild postet sollte nach 40 Jahren auch klar sein.

Nun, wenn ich einen Keller hätte, würde das NAS komplett absaufen! Grundwasserspiegel etwa 1m... :frowning:

Und Ja, das "NAS" (ist eigentlich noch viel mehr) hat einen Zwilling, der steht in meiner Metallwerkstatt (anderes Gebäude) und wird wöchentlich gespiegelt. Dennoch liegen im "Panzerschrank" auch noch gelegentlich kopierte Festplatten. Mehr ist im Amateurbereich wohl nicht nötig :wink:
Ja, Fotos sind eigentlich nicht üblich, doch als alter Fotojunkie bin ich damit aufgewachsen und ich wollte ja einen Teil des Sketches mit im Bild haben.

Und Ja, mir ist das schon klar, dass sowas wie 8.3 eine Rolle spielt(e), auch Verzeichnistiefen, doch fast alle anderen Programme kommen damit klar. Bei meinen ganzen Projekten ist immer alles für das jeweilige Projekt in einem extra Ordner zusammen: Zeichnungen, Formeln, Fotos, Datenblätter, Layouts, Firmware, Software, eventuelle Bestellisten und und und. Das werde ich auch so beibehalten, höchstens ein temporäres Arbeitsverzeichnis für die IDE anlegen.
Und nochmal Ja, bisher stolpert nur diese Arduino-IDE über solche Fallen wie Leerzeichen, Verzeichnistiefen usw. Den meisten anderen Programmen ist das wie gesagt inzwischen wurscht.
Wenn manns weiß ist ja auch ok, doch ich dachte, das ist in 2020 längst Computergeschichte.
Naja, ich bin ja schon froh, dass nicht tatsächlich noch in 8.3 gespeichert werden muss :wink:

Gibt es diese IDE auch für Linux-Mint?

Übrigens läuft dieses Projekt inzwischen auch gut, nachdem ich noch einen Fehler im Sketch gefunden habe (den habe nicht ich geschrieben). Nur aus Fehlern (in dem Fall von anderen) lernt man. Ich bin zumindest schon viel weiter als vor 2 Wochen :wink:

Dafür herzlichen Dank!

Old-Papa

old-papa:
Wenn manns weiß ist ja auch ok, doch ich dachte, das ist in 2020 längst Computergeschichte.
Naja, ich bin ja schon froh, dass nicht tatsächlich noch in 8.3 gespeichert werden muss :wink:

Gibt es diese IDE auch für Linux-Mint?

Übrigens läuft dieses Projekt inzwischen auch gut, nachdem ich noch einen Fehler im Sketch gefunden habe (den habe nicht ich geschrieben). Nur aus Fehlern (in dem Fall von anderen) lernt man. Ich bin zumindest schon viel weiter als vor 2 Wochen :wink:

Die 8.3 braucht es nicht unbedingt, wenn man _ oder - benutzt, funktionierts auch bis 254 Zeichen Verzeichnistiefe.
(Hatten wir gerade heute wieder - allerdings aufm mac) Und das ist nicht Windowslike, sondern zieht sich überall durch.

Und ja, die IDE kannst Du Dir als Linux-Paket runterladen, aufm Mint entpacken und daraus z.B eine portable Version machen. Dann in den Preferenzen nur noch den Sketchordner festlegen - schick.
Hinweis: Du brauchst einen festen Symlink auf das NAS-Directory.

Hallo,

okay, Entschuldigung für das Missverständnis. Wegen der Windowszeichenlänge. Falls nicht bekannt, man muss den kompletten Pfad in Anführungszeichen setzen falls Leerzeichen drin sind.

Und wegen obiger Fehlermeldung, wäre wichtig was agmue geschrieben hat. Wäre in Textform einfacher lesbar. :wink:
Der Zusatz Master muss weg. Die Lib heißt nur U8g2. Benenne den Ordner um und es sollte funktionieren. Danach testet man erstmal ein Bsp. der Lib obs kompiliert.

Doc_Arduino:
Der Zusatz Master muss weg.

Das muss er seit ca. 2-3 Jahren schon nicht mehr.

Gruß Tommy

Doc_Arduino:
Hallo,

okay, Entschuldigung für das Missverständnis. Wegen der Windowszeichenlänge. Falls nicht bekannt, man muss den kompletten Pfad in Anführungszeichen setzen falls Leerzeichen drin sind.

Und wegen obiger Fehlermeldung, wäre wichtig was agmue geschrieben hat. Wäre in Textform einfacher lesbar. :wink:
Der Zusatz Master muss weg. Die Lib heißt nur U8g2. Benenne den Ordner um und es sollte funktionieren. Danach testet man erstmal ein Bsp. der Lib obs kompiliert.

Ich habe jetzt noch einen Test gemacht, ob da nun Master steht oder nicht (habe ich entfernt), sowie die Verzeichniszeichenlänge zu lang ist (habe nie nachgezählt), geht es manchmal oder manchmal auch nicht. Ein System dahinter habe ich noch nicht gefunden. Ist sie kürzer geht es aber immer, egal ob mit Master oder ohne.

Ich habe mir jetzt Im Hauptordner vom NAS einen Arduino-Testordner angelegt, das funktioniert bisher. Blöd, dass ich dann bei fertigem Projekt das Ergebnis dann in den Projektordner kopieren muss, ich darf das halt nicht vergessen.

Naja, irgendwas ist ja immer ... :wink:

Old-Papa

old-papa:
Ich habe mir jetzt Im Hauptordner vom NAS einen Arduino-Testordner angelegt, das funktioniert bisher.
...das Ergebnis dann in den Projektordner kopieren muss...

Na denn, dann brauchst Du doch jetzt nur noch statt diesen Testordner zu verwenden dem Projektordner einen Laufwerksbuchstaben zuordnen.

noiasca hat das in Post #6 schon vorgeschlagen:

Oder sowas wie einen eigener Laufwerksbuchstabe für das "Arduino" Verzeichnis bekommst ja geschenkt am NAS.

Und so ging das bei mir (falls es jemandem nützt):

Gruß Walter

wno158:
Na denn, dann brauchst Du doch jetzt nur noch statt diesen Testordner zu verwenden dem Projektordner einen Laufwerksbuchstaben zuordnen.

Hmmm, und wo ist nun der Vorteil? Stehe gerade auf dem Schlauch.
Oder meinst Du den direkten Projektordner? Das könnte ich machen, doch irgendwann wird dass dann wirr, bei derzeit schon gut 20 Projekten. Es werden dann wohl noch mehr, wenn ich mich wirklich mit Arduino anfreunde.

Aber ok, ich mach mal einen Test, die Verzeichnistiefe wird dann deutlich geringer (falls Windows nicht intern doch die ganze Leiter anklappert).

Old-Papa

So, es ist auch mit dem neuen Laufwerk noch immer komisch:
Beim ersten Durchlauf von "Überprüfen/Kompilieren" kommt die normale Meldung zur verwendeten Speichergröße und gut ist.
Lass ich alles unverändert und rufe diese Funktion erneut auf, kommen wieder Fehlermeldungen:

Ungültige Bibliothek C:\Program Files (x86)\Arduino\libraries\u8g2 in keine Header-Dateien (.h) in C:\Program Files (x86)\Arduino\libraries\u8g2 gefunden gefunden
Der Sketch verwendet 15946 Bytes (51%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 984 Bytes (48%) des dynamischen Speichers, 1064 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Wobei die Zeile mit der Fehlermeldung mal alleine steht und mal mehrfach untereinander geschrieben wird.
Wie geschrieben, nichts, absolut nichts verändert, nur die Funktion erneut aufgerufen.
Die Arduino-IDE wird wohl generell Schwierigkeiten mit Netzlaufwerken haben oder Samba fummelt dazwischen.

IDE-Version ist wohl aktuell

Old-Papa

Update:
Ich habe das ganze Projekt nun testweise auf eine lokale HD kopiert und den Sketch wie immer direkt aus dem Totalcommander aufgerufen. Ergebnis: Ich kann ein Dutzend mal diese Funktion ausführen, nie eine Fehlermeldung.
Fazit: Auf Netzlaufwerken hat die IDE offenbar einen Schluckauf!

IDE-Version.jpg

Hallo,

das es mit dem Master Zusatz im Ordnernamen funktionieren soll wundert mich zwar, aber das klären wir ggf. an anderer Stelle. Diese Frage stelle ich zurück. :slight_smile:

Also der Netzlaufwerksbuchstabe unter Windows ist schon richtig und wichtig. Hätte ich auch selbst daran denken können, habe ich nämlich selbst. Nur mit Buchstaben kannst du jederzeit aus dem Dateiexplorer oder von sonstwo auf Netzfreigaben zugreifen. Ohne Buchstaben, wenn ich mich recht entsinne, ich probiere das jetzt nicht aus, merkt sich das Windows nur wenn man vorher schon einmal den Pfad eingegeben hat. Oder so ähnlich. Zumindestens sucht sich Windows im Netzwerk ansonsten tot. Mit Buchstaben ist das wie lokal, sofort an Ort und Stelle.

In deiner Fehlermeldung steht jedoch C:... und das kann ja nicht stimmen, kann bei dir ja kein Netzlaufwerksbuchstabe sein.
Ich nehme an das hier angefragte hat bei dir noch nie funktioniert. Oder?
Hast du die Arduino IDE lokal installiert und die zusätzlichen Libs etc. auf dem NAS?

Eine Lösung könnte sein, wenn du die Portable IDE auf dem NAS ablegst, richtig portable, nicht nur entpacken,

und dann über den Netzlaufwerksbuchstaben zugreifst und aufrufst. Der Portable ist es ja egal wo die rumoxidiert. Dann hast du alles auf dem NAS und nichts lokal. Ich bin mir sicher das das funktioniert. Notfalls probiere ich das morgen selbst aus.

Doc_Arduino:
Hallo,
....
In deiner Fehlermeldung steht jedoch C:... und das kann ja nicht stimmen, kann bei dir ja kein Netzlaufwerksbuchstabe sein.
Ich nehme an das hier angefragte hat bei dir noch nie funktioniert. Oder?
Hast du die Arduino IDE lokal installiert und die zusätzlichen Libs etc. auf dem NAS?

Eine Lösung könnte sein, wenn du die Portable IDE auf dem NAS ablegst, richtig portable, nicht nur entpacken,
https://www.arduino.cc/en/Guide/PortableIDE
und dann über den Netzlaufwerksbuchstaben zugreifst und aufrufst. Der Portable ist es ja egal wo die rumoxidiert. Dann hast du alles auf dem NAS und nichts lokal. Ich bin mir sicher das das funktioniert. Notfalls probiere ich das morgen selbst aus.

Oha, hier unterliegst Du einem Irrtum!
Nicht die Arduino-IDE liegt auf dem NAS, sondern die jeweiligen Sketche. Die IDE geruht, wie bei Millionen Usern auch, auf LW C: auf ihren Einsatz zu warten. Mithin liegen auch die Bibliotheken und sonstiges Gedöhns eben auch auf C:

Auf einem NAS haben Programme (eigentlich) nichts verloren.

Eine mobile IDE-Version brauche ich eher nicht.

Old-Papa

nicht mobile IDE sondern portable IDE

das heißt nur, dass sich alle Programmdateien inkl. aller Einstellungen in einem Laufwerkspfad befinden, keine Windows Installation notwendig (keine Einträge in der Registry). Also in etwa, wie wenn alles auf einem USB Stick liegt und man den USB Stick an jeden PC anstecken könnte und dann läuft es. Keine Nutzung der [user]/documents oder so.

Tendenziell hat das aber aktuell nichts mit deinem Userverzeichnis Problem zu tun.

Moin,

als erstes versteh ich nicht, warum Du selbst für die Versionsangabe wieder bildchen reinpacken musstes.
Und nein, es ist nicht die aktuelle.
Mit Version 13 wird es noch schlimmer.

Von

readdirent: interrupted system call

bis

loading library.properties: Error reading file:

ist da alles drin, sobald die Sketche irgendwo auf einem SMB liegen.

Gestern schon geschrieben

my_xy_projekt:
seitdem bin ich wieder zurück auf die .10 und die läuft fehlerfrei durch.

Also mach es.
Geh zurück von 12 auf 10 und alles wird gut.