Forum: Mikrocontroller und Digitale Elektronik Gnublin Hallo-Welt-Programm kompilieren


von Linux Einsteiger (Gast)


Lesenswert?

Hallo Linux Freunde,

ich versuche gerade C/C++ Entwicklungsumgebung für gnublin zu 
installieren und eine Hello World Anwendung zu kompilieren, leider 
bekomme ich die Fehlermeldung zugriff ins stdio.h verweigert, dabei habe 
ich nach diesem link
http://wiki.gnublin.org/index.php/C/C%2B%2B_Entwicklungsumgebung_installieren
schrittweise alles abgearbeitet.

Kann mir jemand hierbei weiterhelfen?

von Linux Einsteiger (Gast)


Lesenswert?

Die Fehlermeldung sieht folgendermaßen aus:
hello.c:1:19: fatal error: 
/opt/eldk-5.2.1/armv5te/sysroots/armv5te-linux-gnueabi/usr/include/stdio 
.h:  Permission denied
compilation terminated.

von Karol B. (johnpatcher)


Lesenswert?

Naja, "Permission denied" ist doch ziemlich eindeutig ;). Zeige uns mal 
die Ausgabe von

ls -l 
/opt/eldk-5.2.1/armv5te/sysroots/armv5te-linux-gnueabi/usr/include/stdio 
.h

und

whoami

Mit welchen Benutzerrechten hast du das "installiert", d.h. entpackt? 
Mit welchem Benutzer rufst du den Compiler auf?

Gerade als "Linux-Anfänger" neigt man oft dazu Archive unter Windows zu 
entpacken und dann herüber zu kopieren. Da kann schon das ein oder 
andere Mal etwas schief gehen, wenn es um Meta Informationen, d.h. 
Besitzer und Berechtigungen, geht.

von dadada (Gast)


Lesenswert?

quickfix : als root starten, d.h. gib

sudo bash

ein (dann das passwort), und danach deinen Kompileraufruf:
arm-linux-gnueabi-gcc -o hello hello.c

von Linux Einsteiger (Gast)


Lesenswert?

jo, er erlaubt keine zugriff mit ls -l

/opt/eldk-5.2.1$ ls -l 
/opt/eldk-5.2.1/armv5te/sysroots/armv5te-linux-gnueabi/usr/include/stdio 
.h
ls: cannot access 
/opt/eldk-5.2.1/armv5te/sysroots/armv5te-linux-gnueabi/usr/include/stdio 
.h:  Permission denied


/opt/eldk-5.2.1$ ls -l 
/opt/eldk-5.2.1/armv5te/sysroots/armv5te-linux-gnueabi/usr/
total 60
drwx------  4 root root  8192 Sep 22 13:13 bin
drwxr-xr-x  2 root root  4096 Jun 20  2012 games
drwx------ 94 root root  8192 Sep 22 13:11 include
drwx------ 28 root root 24576 Sep 22 13:13 lib
drwxr-xr-x  5 root root  4096 Jun 20  2012 libexec
drwxr-xr-x  3 root root  4096 Jun 20  2012 sbin
drwxr-xr-x 35 root root  4096 Jun 20  2012 share
drwxr-sr-x  3 root root  4096 Jun 20  2012 src

von Linux Einsteiger (Gast)


Lesenswert?

ich möchte mich herzlich danken für eure schnelle hilfe!!!!!
Ich habe jetzt sudo bash eingegeben und dann
arm-linux-gnueabi-gcc -o hello hello.c aufgeführt und es kam keine 
Fehlermeldung

noch mal
Danke an Alle.

von ToilettenMechaniker (Gast)


Lesenswert?

Besser wäre es die Zugriffsrechte des Toolchains zu fixen. Am besten
chmod +rw /wo/das/toolchain/ist

von Karol B. (johnpatcher)


Lesenswert?

Linux Einsteiger schrieb:
> Ich habe jetzt sudo bash eingegeben und dann
> arm-linux-gnueabi-gcc -o hello hello.c aufgeführt und es kam keine
> Fehlermeldung

Das ist aber nicht die Lösung des Problems, sondern ein (schlechter) 
Workaround. Es ist nämlich schlechte Praxis, wenn man den Systembenutzer 
für solche Dinge verwendet.

Die Lösung des Problems liegt darin die Berechtigungen zu "reparieren". 
In dem herunterladbaren Archiv ist die Berechtigung für o.g. 
Verzeichnisse nämlich "drwxr-xr-x" (= 755). In deinem Fall aber 
"drwxr-xr-x" (= 700).

Das lässt sich prinzipiell mit "chmod" ändern. In deinem Fall würde ich 
aber ein erneutes Entpacken (diesmal richtig ;)) vorschlagen.

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.