Forum: Compiler & IDEs [AVR] __eewr_block_m328p undefined reference to


von Walter (Gast)


Lesenswert?

Hallo,

ich den avr-gcc/binutils/libc geupt und nun kann ich das Projekt nicht 
mehr kompilieren. Was ist da los beim EEProm schreiben?

avr-libc-1.7.1
gcc-4.6.1-r1
binutils-2.21.53.0.2


Danke!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Deine avr-libc-Installation ist unvollständig oder inkonsistent.

Die von dir gewünschte Funktion sollte sich in der Bibliothek
${prefix}/avr/lib/avr5/libc.a befinden:
1
eewr_block_atmega328p.o:
2
00000000 T __eewr_block_m328p
3
         U __eewr_r18_m328p

von Walter (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Die von dir gewünschte Funktion sollte sich in der Bibliothek
> ${prefix}/avr/lib/avr5/libc.a befinden:

Ja, das habe ich gesehen. Er wird die libc.a aus ${prefix}/avr/lib 
nehmen. Mit -L${prefix}/avr/lib/avr5/ -lc funktioniert es. Ist der 
Linker nicht i.O.?


Grüße.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Walter schrieb:
> Ist der
> Linker nicht i.O.?

Irgendwie ist der Krempel inkonsistent compiliert.  Schuss ins Blaue:
--prefix (bei ./configure) stimmt bei den drei Tools nicht miteinander
überein.

von Walter (Gast)


Lesenswert?

Die Pfade stimmen vorne und hinten nicht. Dann muss ich wieder über 
gentoo/crossdev gehen und downgraden. Schade eigentlich.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

crossdev ist bekannt und berüchtigt dafür, eine inkonsistente
toolchain zu erzeugen.  Compilier' dir den Kram mit der Hand mit
--prefix=/usr/local (müsste auch der default sein).

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
> --prefix=/usr/local (müsste auch der default sein).

... es gibt ja auch Distributionen, die mit --prefix=/usr/local/avr 
erzeugt sind, z.B. von Carsten (Bingo600). So wird es bestimmt nie 
langweilig ;-)

von Walter (Gast)


Lesenswert?

Johann L. schrieb:
> So wird es bestimmt nie
> langweilig ;-)

Das hatte ich mal mit der avr-libc. Eine unter /usr die andere unter 
/usr/local. Die zweite wurde verlinkt und die erste war das eigentliche 
Update => Geisterstunde ....

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.