www.digitalmars.com         C & C++   DMDScript  

D.gnu - Error: undefined identifier executeShell

reply "Gary Willoughby" <dev nomad.so> writes:
Using Debian7, gcc-4.8, gdc-4.8 from the `testing main` debian 
source.

	import std.stdio;
	import std.process;

	void main()
	{
		string x = executeShell("uname").output;
		writefln(x);
	}

$ gdc test.d -o test

test.d:6: Error: undefined identifier executeShell
/usr/include/d/4.8/std/range.d:611: Error: static assert  "Cannot 
put a char[] into a Appender!(string)"
/usr/include/d/4.8/std/format.d:1440:        instantiated from 
here: put!(Appender!(string), char[])
/usr/include/d/4.8/std/format.d:1342:        instantiated from 
here: formatUnsigned!(Appender!(string), char)
/usr/include/d/4.8/std/format.d:1316:        instantiated from 
here: formatIntegral!(Appender!(string), ulong, char)
/usr/include/d/4.8/std/conv.d:100:        ... (7 instantiations, 
-v to show) ...
/usr/include/d/4.8/std/stdio.d:1827:        instantiated from 
here: writefln!(char, )
test.d:7:        instantiated from here: writefln!(string)
Oct 10 2013
parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 10 October 2013 15:31, Gary Willoughby <dev nomad.so> wrote:
 Using Debian7, gcc-4.8, gdc-4.8 from the `testing main` debian source.

         import std.stdio;
         import std.process;

         void main()
         {
                 string x = executeShell("uname").output;
                 writefln(x);
         }

 $ gdc test.d -o test

 test.d:6: Error: undefined identifier executeShell
 /usr/include/d/4.8/std/range.d:611: Error: static assert  "Cannot put a
 char[] into a Appender!(string)"
 /usr/include/d/4.8/std/format.d:1440:        instantiated from here:
 put!(Appender!(string), char[])
 /usr/include/d/4.8/std/format.d:1342:        instantiated from here:
 formatUnsigned!(Appender!(string), char)
 /usr/include/d/4.8/std/format.d:1316:        instantiated from here:
 formatIntegral!(Appender!(string), ulong, char)
 /usr/include/d/4.8/std/conv.d:100:        ... (7 instantiations, -v to show)
 ...
 /usr/include/d/4.8/std/stdio.d:1827:        instantiated from here:
 writefln!(char, )
 test.d:7:        instantiated from here: writefln!(string)
executeShell wasn't implemented in the phobos release at the time those packages were created. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Oct 10 2013
parent reply "Dicebot" <public dicebot.lv> writes:
On Thursday, 10 October 2013 at 14:59:05 UTC, Iain Buclaw wrote:
 ...
That reminds me - is there a gdc flag that makes it print used D front-end version?
Oct 10 2013
parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 10 October 2013 16:13, Dicebot <public dicebot.lv> wrote:
 On Thursday, 10 October 2013 at 14:59:05 UTC, Iain Buclaw wrote:
 ...
That reminds me - is there a gdc flag that makes it print used D front-end version?
pragma(msg, __VERSION__); -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Oct 10 2013
parent "Dicebot" <public dicebot.lv> writes:
On Thursday, 10 October 2013 at 15:17:55 UTC, Iain Buclaw wrote:
 pragma(msg, __VERSION__);
Yeah, I mean without creating temporary file and compiling it ;) Not really big deal, but sounds quite trivial and will simplify some tooling.
Oct 10 2013