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ítnutaa
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 :)