Forum: Compiler & IDEs GCC probs makefile


von Daniel (Gast)


Lesenswert?

hi,

tut mir leid das ihr warscheinlich jetzt die 1000 Frage zu dem Thema
höhrt, aber ich bin halt noch Anfänger...

hab WinAVR installiert... gab schon leichte verwechslungen mit der
make.exe von Delphi...gelöst... so nun hab ich die sample makefile von
winavr mal versucht...

die Meldung:

-------- begin --------
process_begin: CreateProcess((null), avr-gcc --version, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [gccversion] Error 2

wäre net wenn mir jemand helfen kann. Das Thema ist wirklich ermüdend..
sitz schon paar Tage an der ganzen problematik das alles
einzurichten...

Danke für hilfe

von Dirk (Gast)


Lesenswert?

Hi,

haste dir schon diesen Thread angeschaut ? Er hat da sehr schoene Fotos
gemacht von verschiednen Schritten.



-> http://www.mikrocontroller.net/forum/read-2-73349.html


Mfg

Dirk

von Stephan Schwarz (Gast)


Lesenswert?

Hallo

na da bin ich also nicht der Einzige, der sich mit dem Thema
"quält".
Ich kann mich aber nun endlich der eigentlichen Aufgabenstellung
zuwenden.  Die Fehlerbeschreibungen sind wohl für einen Anfänger auch
nicht immer besonders aufschlussreich. Bei Dir sieht es doch aber so
aus, alsob einfach dein System mit dem "Make" Befehl nix anfangen
kann. Ist den der Suchpfad bei der installation auch richtig ergänzt
worden?

Super  Jetzt kann ich auch schon dolle Ratschläge geben, aber
vielliecht hift es ja - ausserdem bessert das meine EGO ungemein auf.

von Daniel (Gast)


Lesenswert?

alles schon durchgeschaut... wie gesagt hatte auch die probs mit der
falsch erkannten make.exe... habeinfach erstmal den suchpath zu der
anderen make.exe aus den umgebungsvariablen genommen...
der benutz jetzt die make.exe von WinAVR...

weiß denn jemand was die fehlermeldung überhaubt beanstandet??

von OldBug (Gast)


Lesenswert?

Hi!

Sieht wohl so aus, als würde Dein System den Pfad zum avr-gcc nicht
kennen!
make wird ja ausgeführt...

Gruß,
Patrick...

von Jörg Wunsch (Gast)


Lesenswert?

Ich denke eher, daß make selbst nicht gefunden wird.  Die Meldung
stammt vom Kommandointerpreter (wobei mir gerade nicht klar ist, ob
von command.com/cmd.exe oder von bash.exe).

Umschalten auf Englisch würde vermutlich eine sinnvoller zu lesende
Fehlermeldung bringen.

von Daniel (Gast)


Lesenswert?

joa das wäre nen grund aber hab das mal getestet. ist von hand in jedem
pfad aufrufbar.... aber was kann es da noch sein???

von Oryx (Gast)


Lesenswert?

Hallo Daniel,

was soll das heissen:
joa das wäre nen grund aber hab das mal getestet. ist von hand in
jedem
pfad aufrufbar.... aber was kann es da noch sein???

Was hast Du von Hand eingegeben.
Durch was für einen Aufruf ist deine Fehlermeldung entstanden?

Ich hatte früher mal den TEXTPAD als Editor. Der konnte dann aber nach
einem Versionwechsel den Compiler (oder make) nicht mehr starten. Die
Fehlermeldung sah mir doch sehr ähnlich aus.

Viel Spass

Oryx

von Daniel (Gast)


Lesenswert?

Also die Fehlermeldung kahm durch den aufruf von Make zustande...
die makefile dürfte in ordnung sein das ist die test makefile von
winavr.

avr-gcc hab ich als befehl in anderen verzeichnissen als dem, in dem es
liegt ausgeführt...

von Daniel (Gast)


Lesenswert?

hat sich erledigt...

hatte warscheinlich selbst zu viel versaut...
hab alles nochmal neu gemacht und jetzt geht es...

So dann kann es jetzt endlich los gehen...

Trotzdem danke für die bemühungen...

von Thorsten Grai (Gast)


Lesenswert?

Wie bekommt man jetzt das Problem gelöst: "Das System kann die
angegebene Datei nicht finden"

von Frank Benkert (Gast)


Lesenswert?

Das ist eine sehr gute Frage - ich habe hier das gleiche Problem und
jeden Thread den ich lese endet mit "alles neu installieren und
irgendwie gehts dann schon wieder". nichts für ungut - das ist in
allen anderen foren in denen ich nach diesem problem suchte genauso.

ich habe folgende situation:
- windows 2000
- WinAVR installiert
- pfad sieht original so aus (aus ner dosbox aufgerufen)
C:\>set p
Path=C:\Perl\bin\;C:\WinAVR\bin;C:\WinAVR\utils\bin;C:\WINNT\system32;C: 
\WIN...
- in der gleichen dosbox kann ich
"make.exe" und "avr-gcc.exe" aufrufen und sie werden gefunden.
- rufe ich aber make.exe auf um mein projekt zu kompilieren bekomme ich
die berühmte:

...
avr-gcc -c -mmcu=atmega128 -Os -Wall -Wstrict-prototypes ...
process_begin: CreateProcess((null), avr-gcc -c -mmcu=atmega1 ...
make (e=2): Das System kann die angegebene Datei nicht finden.
make[1]: *** [xmemtest.o] Error 2
...

vielleicht bin ich ja zu dumm das zu verstehen - aber welche datei wird
hier gesucht - doch wohl der "avr-gcc" - den kann ich aber wie gesagt
von hand aufrufen - und noch schöner - ich kann die ganze compile-zeile
eingeben und es funktioniert - nur eben nicht aus make heraus?

wo liegt jetzt mein fehler?

any suggestions?

von Jörg Wunsch (Gast)


Lesenswert?

Nein, make.exe wird dort gesucht.

von Frank Benkert (Gast)


Lesenswert?

OK - Problem gelöst

Jetzt weiss ich auch, warum eine Neuinstallation scheinbar immer
hilft:
DER PFAD ...WinAVR\bin MUSS DER ERSTE EINTRAG IN DER PATH-VARIABLE
SEIN.
Brat mir einen einen Storch - ich hab keine Ahnung warum aber das ist
der einzige Punkt den ich hin- und herändern muss um es entweder am
funktionieren zu haben oder nicht.
also - mein path sieht jetzt so aus:

C:\ethernut\nutapp-2.0a>set p
Path=C:\WinAVR\bin;C:\WinAVR\utils\bin;C:\...

UND ALLES FUNTIONIERT
jetzt ändere ich ihn mal zu

C:\ethernut\nutapp-2.0a>set p
Path=C:\;C:\WinAVR\bin;C:\WinAVR\utils\bin;C:\...

und es haut das ding aufs gesicht.
Ist da wohl ein Fehler in einem Sourceteil des WinAVR bei der
Auftrennung der PATH-Variable? Kann es sein, dass hier ein ":" statt
einem ";" als Trenner genommen wird - wie under UNIX.
Reine Spekulation - jedenfalls behebt dieser kleine Workarround das
Problem. Einfach den WinAVR als erstes in die PATH rein - das wars.
Hätte mir auch drei Stunden früher einfallen können.

cu
Frank

von Jörg Wunsch (Gast)


Lesenswert?

Ich glaube, das hängt eher damit zusammen, dass Du mehr als ein
make.exe entlang Deines PATHs hast.

von Frank Benkert (Gast)


Lesenswert?

OK, nur ums abzuschließen - dann müsste ich ja laut meinem obigen
Beispiel ein make.exe in C:\ liegen haben - das kann ich aber mit
absoluter Sicherheit ausschließen.
Auch glaube ich immer noch nicht, dass es das make.exe ist, was nicht
gefunden wird - wie sollte denn dann überhaupt das Makefile gelesen
werden, welches die Zeile
avr-gcc -c -mmcu=atmega128 -Os ...
enthält und schließlich zum Fehler
process_begin: CreateProcess((null), avr-gcc -c -mmcu=atmega1 ...
make (e=2): Das System kann die angegebene Datei nicht finden.
make[1]: *** [xmemtest.o] Error 2
führt.
Nein, meine Umgebung läuft mittlerweile und ich denke, dass ich eben
auf die PATH achten muss, falls mal wieder was nicht geht.

cu
Frank

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.