rdmd
Adam D. Ruppe
destructionator at gmail.com
Sun Jul 5 19:57:07 PDT 2009
On Sun, Jul 05, 2009 at 08:40:01PM -0500, Andrei Alexandrescu wrote:
> I suspect link.exe has trouble with that long path including the oddly
> named \.rdmd\ in there. Could you please could paste the dmd invocation
> command in your prompt and then progressively simplifying the path names
> until you get something that works?
Yeah, that's the area. I think I got it.
link apparently doesn't like the dots in the output filename.
dmd -of"C:\Users\me\AppData\Local\Temp\.rdmd\hello.d.ED85692521C0A87990BB1B70BEE0046C.exe" -od"C:\Users\me\AppData\Local\Temp\.rdmd\rdmd-hello.d-ED85692521C0A87990BB1B70BEE0046C" "hello.d"
This fails with the weird error.
dmd -of"C:\Users\me\AppData\Local\Temp\.rdmd\hello-d-ED85692521C0A87990BB1B70BEE0046C.exe" -od"C:\Users\me\AppData\Local\Temp\.rdmd\rdmd-hello.d-ED85692521C0A87990BB1B70BEE0046C" "hello.d"
This works!
The dot in the .rdmd is ok, but not the ones in the actual filename.
Simple fix for this: rdmd.d line 160 and 161 can be changed to:
exe = join(myOwnTmpDir, std.string.replace(root, ".", "-"))
~ '-' ~ hash(root, compilerFlags);
And then it works.
Let me try it with a slightly less trivial program. Uh oh. Actually, no...
that's a bug in my program. But it didn't give an error message.
In getDependencies(), if depsExitCode !=0, it should probably print some
kind of message explaining why it is exiting. (In my case, it was a typo
in the program causing a compile error.) The last few lines of dmd's
output would probably be a good choice.
But then, I fix my stupid bug, and it works!
Yay, I think we did it.
> I think that would be absolutely great, but only if it's absolutely no
> hassle for you to set up.
None at all. I'll email you tomorrow night with the info.
> By the way, does Windows Server 2003 offer
> some command-line access (a la ssh) in addition to rdesktop (which is
> indeed very nice)? Command-line access would allow me to automate builds
> and tests.
Yes. Windows has a telnet server built in that I can turn on
and there is an OpenSSH port I can set up - I did this on my Vista
computer and it works pretty well. It is kinda weird on the vista box
actually, since I also installed bash and other gnu apps on it.
It is a bit buggy, but feels a lot like unix, while still running Windows.
Take a look at this copy/pasta to get the idea:
==========
me at arsd:~$ ssh 192.168.1.5
me at 192.168.1.5's password:
Welcome to the SUA utilities.
DISPLAY=vista-laptop:10.0
me at vista-laptop:~$ cmd
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Users\me>dir \dm\src
dir \dm\src
Volume in drive C is WinVista
Volume Serial Number is F279-BA30
Directory of C:\dm\src
06/25/2009 04:59 PM <DIR> .
06/25/2009 04:59 PM <DIR> ..
06/25/2009 05:38 PM <DIR> dmd
07/05/2009 07:05 PM <DIR> druntime
07/05/2009 07:06 PM <DIR> phobos
0 File(s) 0 bytes
5 Dir(s) 31,099,404,288 bytes free
C:\Users\me>
===========
Pretty fun stuff. This same functionality will basically work on 2k3 too.
--
Adam D. Ruppe
http://arsdnet.net
More information about the Digitalmars-d
mailing list