Hallo Forum, ich möchte, so wie es unter Win funktioniert, meine AVR Sourcen unter Ubuntu 11.04 kompilieren. Makefile und Hauptprogramm sind auf ein Minimum verkleinert, und doch bekomme ich es nicht hin. Ich habe das Paket "avr-gcc-4.3.4-avrfreaks-30-jun-2010-u10.04.i386.deb" von "http://www.wrightflyer.co.uk/avr-gcc/" installiert. Ein "make --debug -f Makefile_Linux" liefert mir Ausgaben wie in der anhängenden Datei screenlog.0. Kann mir jemand sagen, was die Fehlermeldungen wie "Value too large for defined data type", oder auch die Pfadangabe "/usr/local/avr/lib/gcc/avr/4.3.4/../../../../avr/include" bedeuten? Der Pfad bis zu .../avr/4.3.4/ existiert. Sind u.U. meine installierten Programme nicht mit der Ubuntu 11.04 kompatibel? Ich komme hier nicht weiter und wäre für Hilfe echt dankbar. Unter Win geht alles wunderbar incl. avrdude sowie Kompilieren und einspielen in den ATMEGA über emacs. Ich will aber halt unter Linux arbeiten. Gruß Christian
Ich verwende die Pakete aus "Debian stable", z. Zt. sind das: ii avr-libc 1:1.6.8-2 ii avrdude 5.10-3 ii binutils-avr 2.20.1-1 ii gcc-avr 1:4.3.5-1 ii gdb-avr 6.4.90.dfsg-3 womit ich noch nie Probleme hatte, ganz im Gegensatz zu "unter Windows". Der gcc ist sogar noch "aktueller" als das von Dir genannte Paket (ist beides relativ alt, aber lieber "old, but stable"). In welchem Punkt soll das genannte Paket besser sein? Wirf es weg, wenn es nach /usr/local/ etwas installiert, und nimm den Standard.
Christian Rothe schrieb: > "/usr/local/avr/lib/gcc/avr/4.3.4/../../../../avr/include" > Der Pfad bis zu .../avr/4.3.4/ existiert. Ab dd wird dann 4 Ebenen nach oben gekletter biz zu /usr/local/avr und von da ab geht's wieder in die Tiefe zu /usr/local/avr/avr/include Der Installationspfad ist also /usr/local/avr und wenn auch eine avr-Tools Installation in /usr/local gibt (/use/local ist die default-Prefix deim Erzeugen der Tools!) hat man u.U nette Nebenwirkungen weil beide Installationen Dateien in folgenden Unterverzeichnissen deponieren: /usr/local/avr /usr/local/avr/lib /usr/local/avr/include und evtl. noch weitere.
Hallo Johann, also die Pfade finde ich schon etwas merkwürdig. Unter /usr/local kommt zwar der avr Pfad, aber darunter geht es direkt mit einem weiteren avr Pfad weiter. Soll das so sein?
Hallo, die ist recht schlicht, halt nur noch für den Test: #include <avr/io.h> int main (void) { do { } while (1); } Das eigentliche komplexere Programm, welches unter Win auch kompilierbar ist, erzeugt aber die gleichen Fehlermeldungen des Compilers.
Dann ruf den Compiler doch einfach mal von Hand auf, mit minimalen Optionen:
1 | avr-gcc -c test.c -o test.o |
und schaue, was dann raus kommt.
unverständlicherweise behauptete er nun avr-gcc sei nicht installiert. Habe dies mit "sudo apt-get install gcc-avr" 'behoben?'. Dein Compilier Kommando erzeugt wieder die mir unverständliche Meldung: "cc1: Fehler: test.c: Der Wert ist zu groß für den definierten Datentyp"
Christian Rothe schrieb: > unverständlicherweise behauptete er nun avr-gcc sei nicht installiert. Er ist vermutlich in /usr/local/bin, und dieses Verzeichnis ist evtl. nicht in deinem path. > Habe dies mit "sudo apt-get install gcc-avr" 'behoben?'. Das ist dann aber der avr-gcc von ubuntu, also ein anderer als der, den du schon installiert hast. > Dein Compilier Kommando erzeugt wieder die mir unverständliche Meldung: > > "cc1: Fehler: test.c: Der Wert ist zu groß für den definierten Datentyp" Liegt die Datei zufälligerweise auf einem samba/cifs-Share? Wenn ja, kopiere die Sachen mal in dein Home-Verzeichnis und probier's da nochmal.
...wenn ich nun mit dem ursprünglichen Aufruf von Make das compilieren
versuche, lautet die problematische Pfadmeldung plötzlich auf:
nicht vorhandenes Verzeichnis
>>/usr/lib/gcc/avr/4.3.5/../../../avr/sys-include<<
da hat er recht. Unter /usr/lib/avr gibt es nur ein /bin Verzeichnis...
hier ist doch mit den Pfaden irgendetwas völlig verbogen, oder?
oh,!!! das sind zwei super Tips, denke ich. Work directory ist tatsächlich ein SAMBA Pfad, ... bzw eine Freigabe auf einem NAS system. Eigentlich sollte das per nfs gemountet sein. Gibt es denn da typische Probleme mit SMB Freigaben?
Christian Rothe schrieb: > Gibt es denn da typische Probleme mit SMB Freigaben? Das behauptet zumindest das Internet, wenn man die Fehlermeldung in Google eingibt. Christian Rothe schrieb: > hier ist doch mit den Pfaden irgendetwas völlig verbogen, oder? Möglicherweise kommen sich dein "avr-gcc-4.3.4-avrfreaks-30-jun-2010-u10.04.i386.deb" und der "gcc-avr" vom Ubuntu in die Quere. Du hast jetzt ja zwei avr-gccs installiert.
OK, soweit erstmal danke an alle. Muss erstmal andere Arbeiten erledigen, bis ich die Eure Tips verarbeiten kann. viele Grüße und Dank Christian
Da sind einer neuere version am : http://www.wrightflyer.co.uk/avr-gcc/ avr-gcc-4.3.4-avrfreaks-2011-sep-20-u10.04.i386.deb avr-gcc-4.3.4-avrfreaks-2011-sep-20-u10.04.i386.txt avr-gcc-4.3.4-avrfreaks-2011-sep-20-u10.04.x64.deb avr-gcc-4.3.4-avrfreaks-2011-sep-20-u10.04.x64.txt avr-gcc sind die selber , aber avr-libc ist 1.7.1 und avrdude sind 5.11 Und ... Hast du diser seht am wrightflyer site
1 | Download your chosen .deb file (probably the latest) from the list below. |
2 | Install it using the 'dpkg -i <chosen.deb>' |
3 | The tools will be installed in /usr/local/avr with the commands in /usr/local/avr/bin |
4 | That directory is not automatically added to the PATH so to use the package after installation |
5 | use 'export PATH=$PATH:/usr/local/avr/bin' or add a command to achieve this permanently to your bash profile |
Und vie die andere schreibs , installere nur einer avr-gcc package (oder mindenst , nur einer version von avr-gcc im PATH). mfg Bingo Dänemark
Thanks to you. I'll try that this evening. Some of my problems are solved by following Rolf Magnus's advice to copy all sources to a local drive. Something is not working with samba shares until now. If every thing is working fine I'll write a short description about my solutions cheers Christian
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.