Di base il compilatore dovrebbe marcare già di suo l'eseguibile generato come eseguibile, per cui il chmod in teoria dovrebbe essere superfluo.
Domanda: il tuo utente è proprietario del file/della directory? Perché questo potrebbe essere un motivo per cui potrebbe non farti fa cambiare i permessi...
---edit---
... ma non tornerebbe con il fatto che non chmod non ti dà errori...fai così: dai
sia prima che dopo il chmod che vediamo.codice:ls -l
Inoltre: per caso stai lavorando su una partizione FAT (es. una chiavetta) o che comunque non supporta i permessi UNIX?