Cannot run program "make": Unknown reason

Die Programmierung des c't-Bot
Antworten
kopfsalat

Cannot run program "make": Unknown reason

Beitrag von kopfsalat » 30 Sep 2008, 14:15

Hi,
ich bin ein ziemlicher Neuling beim ct-Bot,
ich arbeite auf einem Mac und bekommen, was ich auch auswähle diese Meldung:
Cannot run program "make": Unknown reason
Ich habe das dumme Gefühl das ich irgendwo was Eistellen muss, aber ich weiß leider nicht wo und wie!
avrdude funktioniert soweit, findet nur nie eine ct-bot.hex und kann somit auch nicht arbeiten.

Viele Dank schonmal

Felix

eax
Friends of Robby
Friends of Robby
Beiträge: 755
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 30 Sep 2008, 16:29

Hi Felix,

hast du XCode (z.B. auf der OS X DVD zu finden) installiert?

Viele Grüße,
Timo

kopfsalat

Beitrag von kopfsalat » 30 Sep 2008, 21:32

Vielen Dank Timo!
Du hast mal wieder den Nagel auf den Kopf getroffen!
:D

Ich hab nur leider nen neues Problem: Wenn ich den Linux Debuger nehme kommt in der konson erst ne ganze menge anständiges Zeug und zum Schluß dann:
make --no-print-directory post-build
objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary ct-Bot.elf ct-Bot.eep; objdump -t -j .eeprom -C ct-Bot.elf | grep "g" > eeprom_pc.map
/bin/sh: objcopy: command not found
/bin/sh: objdump: command not found
make[1]: [post-build] Error 1 (ignored)
also so ganz läuft das irgendwie noch nicht.

Wenn ich den Mac debuger nehme sieht das dann so aus:

**** Build of configuration Debug-Mac for project ct-Bot ****

make -j3 all
make: Nothing to be done for `all'.
also auch nicht viel besser.

Wenn ihr noch einmal einen Tip für hättet währe ich echt dankbar!

lg Felix

eax
Friends of Robby
Friends of Robby
Beiträge: 755
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 01 Okt 2008, 00:48

Hi Felix,

die richtige Zielplattform für den echten Bot ist "Debug-MCU-Linux" und "Debug-Mac" für einen am Mac simulierten Bot. Wie man das auswählt / umstellt steht hier unter Übersetzen des Codes für den AVR-Mikrocontroller.

Die Postbuild-Error (objcopy und objdump nicht gefunden) kannst du im Prinzip ignorieren. Das ist für die EEPROM-Emulation, die du erstmal nicht brauchst denke ich. Der kleine Schönheitsfehler lässt sich später noch korrigieren.

Die Ausgabe
**** Build of configuration Debug-Mac for project ct-Bot ****

make -j3 all
make: Nothing to be done for `all'.
ist kein Fehler und besagt nur, dass es nichts Neues gibt, das übersetzt werden müsste. Eclipse zeigt das außerdem an, wenn man die Zielplattform gewechselt hat (warum auch immer). Ein Project -> clean hilft.

Wenn du den Bot auch am Mac mit ct-Sim simulieren willst, müssen Java3D und jogl installiert sein, wie das geht steht hier.
Wie gesagt wird nur für den ct-Sim zur Simulation benötigt, nicht für den echten Bot. Macht das Leben aber deutlich einfacher ;-)

Grüße,
Timo

[Edit] Link zur Installationsanleitung [/Edit]

kopfsalat

Beitrag von kopfsalat » 27 Okt 2008, 19:41

Hi
nach längerem habe ich jetzt mal wieder Zeit mich mit dem Bot zu beschäftigen. Heute habe ich die gesamte Installation noch mal gemacht. gcc Patches usw. auch die XCode ist installiert. Aber ich bekomme einfach keine hex datei.
der sagt immer:
**** Build of configuration Debug-MCU-Linux for project ct-Bot ****

make -j3 all
Building file: ../1st_init.S
Building file: ../command.c
Building file: ../ct-Bot.c
Invoking: GCC C Compiler
avr-gcc -DMCU -I/usr/local/avr/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot -O0 -Os -g3 -Wall -c -fmessage-length=0 -mmcu=atmega32 -Wstrict-prototypes -MMD -MP -MF"command.d" -MT"command.d" -o "command.o" "../command.c"
Invoking: GCC C Compiler
avr-gcc -DMCU -I/usr/local/avr/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot -O0 -Os -g3 -Wall -c -fmessage-length=0 -mmcu=atmega32 -Wstrict-prototypes -MMD -MP -MF"ct-Bot.d" -MT"ct-Bot.d" -o "ct-Bot.o" "../ct-Bot.c"
Invoking: GCC C Compiler
avr-gcc -DMCU -I/usr/local/avr/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot/include -I/Users/felixnikolaus/Documents/workspace/ct-Bot -O0 -Os -g3 -Wall -c -fmessage-length=0 -mmcu=atmega32 -Wstrict-prototypes -MMD -MP -MF"1st_init.d" -MT"1st_init.d" -o "1st_init.o" "../1st_init.S"
/bin/sh: avr-gcc: command not found
/bin/sh: avr-gcc: command not found
/bin/sh: avr-gcc: command not found
make: *** [1st_init.o] Error 127
make: *** Waiting for unfinished jobs....
make: *** [ct-Bot.o] Error 127
make: *** [command.o] Error 127
So langsam weiß ich wirklich nicht mehr was ich falsch mache.

Danke

Benjamin.Benz

Beitrag von Benjamin.Benz » 28 Okt 2008, 09:54

Hi,
/bin/sh: avr-gcc: command not found
damit sagt Dir make doch schon, was nicht stimmt: Er findet das executable avr-gcc nicht im Pfad. Und ohne den C-Compiler kann make auch schlecht übersetzen.

Prüfe doch mal, wo auf Deiner Plate sich avr-gcc befindet und füge diesen Ort der Umgebungsvariable PATH hinzu.

MfG Benjamin

eax
Friends of Robby
Friends of Robby
Beiträge: 755
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 28 Okt 2008, 12:18

Hi,

vermutlich liegt es nur daran, dass PATH innerhalb von Eclipse nicht richtig gesetzt ist (es reicht nicht, PATH für die bash zu erweitern).
Am Einfachsten ist es, das für alle Projekte in Eclipse einzustellen unter Eclipse -> Preferences -> C/C++ -> Environment
Zum Verändern von PATH wählst du zunächst Select... aus, dann Edit... und hängst
:/usr/local/avr/bin
an den bestehenden Text an.

Ich hätte dir gern einen Screenshot dazu gezeigt, aber ich kann den hier weder als jpg noch als png hochladen, keine Ahnung warum. Folgt später in der Installationsanleitung.

Anschließend am besten das Bot-Projekt löschen und neu aus den SVN holen (falls du noch keine Änderungen vorgenommen hast).

Grüße,
Timo

eax
Friends of Robby
Friends of Robby
Beiträge: 755
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 28 Okt 2008, 15:05


Antworten