Ich habe hier ein Softwarepaket, welches ich nicht angepasst habe. Das ganze auf drei verschiedenen Systemen. Einmal Windows 10, einmal Arch Linux und einmal Mint Linux.
Es geht um die 3D Drucker Firmware Marlin in der Version 1.1.9 - spielt hier aber eigentlich keine Rolle - es geht um was anderes.
Auf meinem Mint Linux kann ich das Paket so wie es ist mit der dort installierten Arduino Version 1.8.5 kompilieren. Es gibt keine Errors und keine Warnings.
Auf den anderen beiden Systemen wird zwar kompiliert, aber es fliegen mir vorher massig Warnings um die Ohren (TIMER redefined).
Gerade die beiden Linuxsysteme machen mich stutzig. Warum klappt das auf dem einen, aber nicht auf dem anderen?
Vielleicht kann mir mal einer der Experten hier erklären, was bei so Installationen unterschiedlich sein kann, das es zu solchem Verhalten kommt.
Wenn man sich den Fehler konkret ansieht, scheint es ja Probleme mit den core Dateien in Verbindung mit den Boarddefinitionen des ANET Boards zu geben. Aber wenn das so ist, verstehe ich die Probleme noch viel weniger. Es ist doch eigentlich auf allen Kisten das gleiche drauf!?
In file included from /home/mb/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino/Arduino.h:257:0,
from sketch/HAL.h:36,
from sketch/MarlinConfig.h:39,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
/home/mb/Arduino/hardware/anet/avr/variants/sanguino/pins_arduino.h:43:0: warning: "TIMER2" redefined
#define TIMER2 5
^
In file included from sketch/HAL.h:36:0,
from sketch/MarlinConfig.h:39,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
/home/mb/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino/Arduino.h:210:0: note: this is the location of the previous definition
#define TIMER2 6
uwefed:
Hast Du verschiedene Versionen der verwendeten Bibliotheken auf den verschiedenen Betriebssystemen?
Grüße Uwe
Was meinst du damit? Bibliotheken außerhalb von Arduino? Die Rechner die nicht funktionieren - oder nur mit Warnings - sind frisch installierte Arduino 1.8.5 Versionen. Da das eine ein Mint Linux und das andere ein Arch Linux ist, kann es schon sein, das die sich unterscheiden.
Ich kann nur von dem ausgehen, was ich bisher erlebt habe und weswegenbereits Diskussionen gab.
Du hast vermutlich auf den betroffenen Systemen unterschiedliche, vor allem höhere, Versionen der Arduino.IDE mit entsprechenden Voreinstellungen am laufen.
Mach mal bitte folgendes:
In der IDE unter Datei-Voreinstellungen einen Haken rein bei "ausführliche Ausgabe während x Kompilierung".
Und dann alle Arduinofenster schliessen.
Arduino starten
Wenn der Sketch noch nicht geladen ist, diesen laden
Den Sketch kompilieren - soll nicht hochgeladen werden.
Die gesamte Ausgabe im Reportenster hier in Codetags hochladen.
Nach dem ersten kompilieren werden einige Teile nicht erneut kompiliert, wenn Du die Ausgaben noch einmal vollständig haben willst, musst Du wieder bei 1 anfangen.
Auf den .ux-Maschinen kannst Du die Ausgabe auch vorher in die "Textbearbeitung" kopieren und dann den lokalen, persönlichen Teil (/home/mb/) mit "Finden und Ersetzen" komplett löschen.
Bei Windows geht das entsprechend....
my_xy_projekt:
...
Du hast vermutlich auf den betroffenen Systemen unterschiedliche, vor allem höhere, Versionen der Arduino.IDE mit entsprechenden Voreinstellungen am laufen.
...
Nein, auf allen Systemen ist die gleiche Arduino IDE Version gestartet worden (extra deshalb installiert).
Auf der zweiten Linux Kiste - auf der es bisher nicht geklappt hat, die mir aber am wichtigsten ist - war vorher eine höhere Arduino IDE installiert. Ich hatte eigentlich alle Reste in den diversen Verzeichnissen gelöscht und dann die Version 1.8.5 installiert. Vermutlich habe ich nicht alles erwischt.
Ich verstehe die Einstellung "Agressively cache compiled core" so, das hier irgendwas vom core gecached und nicht jedes mal neu compiliert wird. Nehme ich den Haken raus, läuft es auf der Linux Kiste.
Auf der Windows Kiste läuft es noch nicht - das muss ich mir noch mal in Ruhe ansehen. Ist aber im Moment nicht so wichtig!