Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : komische fehlermeldung beim gcc



PennyLane
03-11-2002, 18:12
hallo leute,

ich bin linux-neuling und habe mir gerade mal den gcc installiert. als ich nun mein erstes c-programm unter linux compilieren wollte, bekam ich folgende fehlermeldung:

/usr/i486-suse-linux/bin/ld: cannot open output file a.out: Keine Berechtigung
collect2: ld returned 1 exit status

wer kann helfen?

thx, pennylane

tuxipuxi
03-11-2002, 18:15
hi,

aendere mal im root modus ( in der konsole "su" eingeben ) mit " chmod 777 a.out " die zugriffsrechte.
danach sollte es laufen.
bin mir nicht sicher, aber ich glaube, als user hat man auch keine schreibrechte nach usr.
also mach das ganze mit su nochmal.

The Ripper
03-11-2002, 18:58
oder verschieb den quellcode in dein home-verzeichnis, da darfst du auf jeden fall schreiben

PennyLane
03-11-2002, 19:13
der quellcode ist schon in meinem home-verzeichnis.

Hans-Georg Normann
03-11-2002, 19:34
Na dann stellen wir doch mal sicher, dass dir auch alle Dateien gehören.



einloggen mit root
wechsele in dein Homeverzeichnis (oder das Verzeichnis, das die Quelltexte enthält)
find . -print -exec chown DEINLOGIN {} \;


der letzte Befehl ändert den Owner auf DEINLOGIN. "{}" werden im Script durch den gefundenen Dateinamen ersetzt. "\;" schließen das Script ab. (Unbedingt erforderlich)

Hans

PennyLane
03-11-2002, 20:04
ok, jetzt hat er keine fehlermeldung mehr gebracht beim compilieren. aber trotzdem... entweder bin ich doof oder ich weiß auch nicht... irgenwie sollte doch dann in dem Ordner eine .exe oder zumindest eine .o oder sowas sein. Es sind aber nur die Dateien DATEI.c, DATEI.c~ sowie a.out drin. was mach ich jetzt?

PennyLane
03-11-2002, 20:55
o.k, ich hab jetzt mal a.out ausgeführt und scheinbar ist das ja mein compiliertes programm! *andiestirnhau* hmm, ok, aber warum hat das so einen komischen namen (a.out)? wie krieg ich es dazu, dass es datei oder datei.exe oder sowas heißt?

PennyLane
03-11-2002, 21:14
und außerdem: als ich gcc installiert hab, stand im yast2 was von "gnu c-compiler und supportfiles". wo sind denn die supportfiles gelandet? die meinten sicherlich nicht die infos, die man kriegt, wenn man "man gcc" aufruft, oder?

micha
03-11-2002, 22:02
Hi,

Wenn Du dem gcc keinen Namen für die Executable mittles dem Schalter -o gibst, verwendet er 'a.out':



gcc -o datei datei.c


Gruß micha

PennyLane
03-11-2002, 22:09
aha! vielen dank!

PennyLane
03-11-2002, 22:14
aber halt, da ist doch noch ein problem: hab gerade mal versucht, das neucompilierte programm DATEI auszuführen und da sagt er mir doch glatt:

bash: DATEI: command not found

sehr seltsam...

anda_skoa
03-11-2002, 22:20
Probier
#> ./DATEI

Ciao,
_

PennyLane
04-11-2002, 20:46
hat auch nicht geklappt. er hat offenbar versucht, datei auszuführen. aber irgendwie ging es nicht weiter (er hat nix auf dem bildschirm angezeigt) und da hab ich es mit strg+c abgebrochen. dasselbe programm funktioniert aber, wenn man es als a.out compiliert und ausführt.