D in SUSE Enterprise Linux

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue May 1 15:42:38 UTC 2018


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



More information about the Digitalmars-d-learn mailing list