Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: hlavinka.radek 05 Listopadu 2015, 09:12:05
-
Dobrý den
Zkoušel jsem v Ubuntu programovat v C. Napsal jsem jednoduchý program Hello.c a pomocí terminálu jej zkompiloval, ale když jsem se jej pomocí ./Hello pokusil spustit, tak mi terminál nahlásil chybu: Operace zamítnuta. Víte čím by to mohlo být?
Děkuji
-
clang ./Hello.c -o ./Hello
./Hello
Musi fungovat.
Pripadne sem dej zdrojak a kompilacni prikaz...
-
(http://t7.pixhost.org/thumbs/67/30250965_komp.png)
gcc hello.c -o hello
./hello
#include <stdio.h>
int main ()
{
puts("Hello world!");
return 0;
}
-
Třeba to spouštíš z filesystému, který máš připojený s flagem noexec. Zkontroluj přes mount. Třeba takto:
mount | grep `df -P $PWD | tail -1 | cut -d' ' -f 1`
-
Vypsalo mi to tohle:
/dev/sda5 on /media/radek/Data type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
-
chmod +x hello
nepomůže?
-
Ten výpis té chybové hlášky je skvostný.
Něco čitelnějšího nemáš?
Nejlépe to zkopírovat a dát do code.
-
Omlouvám se. Terminál vypíše:
bash: ./hello: Operace zamítnuta
a
chmod x+ hello
bohužel nepomohlo
-
Ten výpis je hezký, ale není úplný. Potřeboval jsem vidět celý výpis. (například mě zajímá v jakém adresáři to překládáš a podobně)
Může to totiž být nastavením práv disku, jak píše GdH, zejména pokud to je NTFS disk
Zkus ten překlad provést někde na disku, který má nativní systém pro linux (třeba v domovském adresáři.)
-
chmod x+ hello
bohužel nepomohlo
Tohle ani pomoct nemohlo.
Do fstab pridej tomu disku "umask=0220"
-
Překopíroval jsem program do primárního disku Ubuntu a program fungoval! :)
Díky za radu :)