Forum: Compiler & IDEs avr-gcc Installationsproblem unter Ubuntu


von Christian R. (crothe)


Angehängte Dateien:

Lesenswert?

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

von hp-freund (Gast)


Lesenswert?

zeig doch mal deine test.c

von Roland H. (batchman)


Lesenswert?

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.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

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.

von Christian R. (crothe)


Angehängte Dateien:

Lesenswert?

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?

von Christian R. (crothe)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Christian R. (crothe)


Lesenswert?

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"

von Rolf Magnus (Gast)


Lesenswert?

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.

von Christian R. (crothe)


Lesenswert?

...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?

von Christian R. (crothe)


Lesenswert?

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?

von Rolf Magnus (Gast)


Lesenswert?

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.

von Christian R. (crothe)


Lesenswert?

OK, soweit erstmal danke an alle.

Muss erstmal andere Arbeiten erledigen, bis ich die Eure Tips 
verarbeiten kann.

viele Grüße und Dank

Christian

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

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

von Christian R. (crothe)


Lesenswert?

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
Noch kein Account? Hier anmelden.