PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] [Beispiel compilieren] Was zur Hölle will mir diese Fehlermeldung sagen?!?



-schumi-
16.10.2011, 11:09
Hallo zusammen,

ich versuche gerade, das Beispiel RP6Base_Move_05.c zu kompilieren. Erst sagte er etwas, das im Ordner .deb was nicht stimmt. Den Ordner gelöscht und jetzt versucht er auch das Ding wirklich zu kompilieren, GCC schmeißt mir aber folgendes an den Kopf:



make all (im Verzeichnis: /home/simon/Dokumente/Schule/Deutsch/Referat-RP6/Software/RP6Examples_20080915/RP6BASE_EXAMPLES/Example_05_Move_05)
-------- begin --------
avr-gcc (Fedora 4.6.1-2.fc15) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: ../../RP6Lib/RP6base/RP6RobotBaseLib.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=../../RP6Lib/RP6base/RP6RobotBaseLib.lst -I../../RP6Lib -I../../RP6Lib/RP6base -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6RobotBaseLib.o.d ../../RP6Lib/RP6base/RP6RobotBaseLib.c -o ../../RP6Lib/RP6base/RP6RobotBaseLib.o
../../RP6Lib/RP6base/RP6RobotBaseLib.c: In function 'emergencyShutdown':
../../RP6Lib/RP6base/RP6RobotBaseLib.c:507:45: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:508:45: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:511:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:512:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:514:47: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:516:47: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:517:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:518:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:522:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:523:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:524:46: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
../../RP6Lib/RP6base/RP6RobotBaseLib.c:526:45: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
make: *** [../../RP6Lib/RP6base/RP6RobotBaseLib.o] Fehler 1
Kompilierung fehlgeschlagen.


Zum compilieren führt Geany im jeweiligen Ordner ein "make all" aus.

System: Fedora 15.

$ avr-gcc --version
avr-gcc (Fedora 4.6.1-2.fc15) 4.6.1

Weis jemand weiter?

Viele Grüße und vielen Dank schonmal
-schumi-

PS: Eigene Programme (Allgemein für AVRs) konnte ich bisher völlig Problemlos compilieren

Wsk8
16.10.2011, 13:16
So viel ich hier sehe will der Compiler dass die Variable "__c" als const deklariert wird. Liegt vermutlich einfach an deinem compiler oder system. War bei mir auch schon so dass ich an einem PC ne Lib compilieren konnte und am anderen PC gings nicht weil da auch was nicht gepasst hat. Vlt mal ne ältere version probieren?!

mfg

-schumi-
16.10.2011, 14:17
Lösung:




Der GCC hat am Version 4.6.1 irgend ein Problem mit einer Bibliothek. Anscheinend ein Bug.. :-(
(Sehr viele Arduino-User das Problem auch)

Desshalb ist es warscheinlich am einfachsten, ein Downgrade zu machen, bis der Fehler behoben ist:

[root@laptop simon]# yum downgrade avr-gcc avr-gcc-c++

Geladene Plugins: langpacks, presto, refresh-packagekit
Einrichten des Downgrade-Prozesses
Löse Abhängigkeiten auf
--> Führe Transaktionsprüfung aus
---> Package avr-gcc.i686 0:4.5.3-1.fc15 will be a downgrade
---> Package avr-gcc.i686 0:4.6.1-2.fc15 will be gelöscht
---> Package avr-gcc-c++.i686 0:4.5.3-1.fc15 will be a downgrade
---> Package avr-gcc-c++.i686 0:4.6.1-2.fc15 will be gelöscht
--> Abhängigkeitsauflösung beendet


Abhängigkeiten aufgelöst

[ ... ]

Komplett!


Viele Grüße\\
-schumi-

EDIT: Vielen Dank für deine Antwort, Wsk8 :-D
Hatte durch Google schon die Lösung gefunden, aber vergessen abzuschicken^^