On Tuesday, May 01, 2018 15:18:12 Vino via Digitalmars-d-learn wrote: > On Tuesday, 1 May 2018 at 15:04:43 UTC, rikki cattermole wrote: > > On 02/05/2018 2:56 AM, Vino wrote: > >> Hi All, > >> > >> Request your help, trying to execute the below program in > >> > >> SUSE Linux but there is no output > >> > >> > >> Code > >> #!/usr/bin/env rdmd > >> import std.stdio; > >> > >> void main() { > >> writeln("Test"); > >> } > >> > >> DMD Version : DMD64 D Compiler v2.079.1 > >> Package installed : dmd-2.079.1-0.openSUSE.x86_64.rpm > >> > >> Execution 1 : rdmd <program name> without this #!/usr/bin/env > >> rdmd > >> Execution 2: ./<program name> with #!/usr/bin/env rdmd + chmod > >> 777 <program name> > >> > >> Both ways there is on output > >> > >> > >> From, > >> Vino.B > > > > Does this work? > > > > $ dmd -run foo.d > > Hi Rikki, > > No, it is not working, rather getting an error, and the user i > executed is the root user. if i compile the program as dmd > <program name> and then execute it as ./<program name> it works > fine, so is rdmd not supported in Linux. > > Error: > /tmp/dmd_runqfz3ul: Permission denied
That sounds like your /tmp is mounted with noexec. which won't work with rdmd or any other program that expects to be able to create a file in /tmp and run it. Presumably, you'll need to change the settings in /etc/fstab so that /tmp is not mounted with noexec. - Jonathan M Davis