Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
July 05, 2008 gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
The current implementation of gdmd does not currently run on Windows (with Mingw). The reason is simply that gdmd is a Perl script, and Windows doesn't know how to run it. It works in Cygwin but not in a vanilla command line. This currently breaks DSSS, which relies on gdmd. A simple fix would be to replace gdmd with a native program, eg. written in D. If anyone is interested in this idea, I can write the D program, but I would need some help to fit it into the build process. There might be other viable solutions, like compiling the Perl script to exe specifically for the mingw build. Nico |
July 05, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund wrote:
> The current implementation of gdmd does not currently run on Windows (with Mingw). The reason is simply that gdmd is a Perl script, and Windows doesn't know how to run it. It works in Cygwin but not in a vanilla command line.
>
> This currently breaks DSSS, which relies on gdmd. A simple fix would be to replace gdmd with a native program, eg. written in D. If anyone is interested in this idea, I can write the D program, but I would need some help to fit it into the build process. There might be other viable solutions, like compiling the Perl script to exe specifically for the mingw build.
>
> Nico
On Windows, there's gdmd.bat instead. It runs itself as a perl script. At least that's how it's done for GDC 0.24.
|
July 05, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to torhu | torhu Wrote:
> On Windows, there's gdmd.bat instead. It runs itself as a perl script.
> At least that's how it's done for GDC 0.24.
Hmm, I can't seem to find that file in neither the cygwin nor the mingw download, or even in the sourceforge svn. Could you send it to me, if you have it?
Nico
|
July 05, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund wrote: > torhu Wrote: > >> On Windows, there's gdmd.bat instead. It runs itself as a perl script. At least that's how it's done for GDC 0.24. > > Hmm, I can't seem to find that file in neither the cygwin nor the mingw download, or even in the sourceforge svn. Could you send it to me, if you have it? It's included in the installer here: http://sourceforge.net/projects/gdcwin It's a fast and simple install (Inno setup). |
July 10, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to torhu | torhu Wrote:
> It's included in the installer here: http://sourceforge.net/projects/gdcwin
Thanks, I wasn't aware of gdcwin. It's a bit impractical that it isn't part of the normal gdc install though, and in any case I think Perl might be a bit of a heavy dependency just for building D programs, especially on Windows where Perl isn't something everyone has.
Furthermore I still couldn't get it to work with DSSS, but I'll look more into it.
Nico
|
August 14, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund wrote: >> It's included in the installer here: >> http://sourceforge.net/projects/gdcwin > > Thanks, I wasn't aware of gdcwin. It's a bit impractical that it > isn't part of the normal gdc install though, and in any case I > think Perl might be a bit of a heavy dependency just for building D > programs, especially on Windows where Perl isn't something everyone > has. > There was a reimplementation of it in bash, but then again that isn't something that Windows users (without MinGW/Cygwin) has either... So it's easier to just install the readily available Perl package. The "gdmd.bat" script was created by running pl2bat on gdmd, BTW. http://www.perl.com/doc/manual/html/win32/bin/pl2bat.pl.html Maybe something awful like rewriting it in a compiled languge has to be done (did that for the wxD shell scripts), to cut down on depends ? On the other hand, I view both Bash and Perl as if not essential then as least very nice features to help me survive a hostile environment :-) Another alternative would be to avoid "gdmd", and use "gdc" instead... --anders |
August 14, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders F Björklund | Anders F Björklund Wrote: > > So it's easier to just install the readily available Perl package. The "gdmd.bat" script was created by running pl2bat on gdmd, BTW. Hi. The problem now isn't really the perl dependency, but the fact that it doesn't work at all with DSSS. It requires a gdmd.exe file, and the bat file didn't work for me. > Maybe something awful like rewriting it in a compiled languge has to be done (did that for the wxD shell scripts), to cut down on depends ? An alternative might be to use something like perlbin: http://perlbin.sourceforge.net/ . It creates a small stand-alone executable that embeds the script, and uses perl (as a library) to run it. Might be a perfect quick fix for running Perl scripts on .. troublesome platforms :) I haven't tested it though. On the other hand the gdmd script isn't that big, and rewriting it to our favorite language would seem like an appropriate place to show off the language, since it is a D compiler after all. I might make it a weekend project of mine sometime. Nico |
August 14, 2008 Re: gdmd does not work on Windows | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicolay Korslund | Nicolay Korslund wrote: >> The "gdmd.bat" script was created by running pl2bat on gdmd, BTW. > > Hi. The problem now isn't really the perl dependency, but the fact > that it doesn't work at all with DSSS. It requires a gdmd.exe file, > and the bat file didn't work for me. Hmm, that seems more like a DSSS problem. Maybe it could be convinced to use the real deal instead of using the wrapper ? >> Maybe something awful like rewriting it in a compiled languge has to >> be done (did that for the wxD shell scripts), to cut down on depends ? > > An alternative might be to use something like > perlbin:http://perlbin.sourceforge.net/ . It creates a small stand-alone > executable that embeds the script, and uses perl (as a library) to run > it. Might be a perfect quick fix for running Perl scripts on .. > troublesome platforms :) I haven't tested it though. Seems like a kludge, but might do the trick too I suppose... "And that's all perlbin is. A small stub executable (about 20k) requireing a perl dynamic link library (about 700kb) [...]" Seems like a lot of overhead* for that little syntax wrapper. * OK, so the Perl installer is like 15M but that's different ;-) > On the other hand the gdmd script isn't that big, and rewriting it to > our favorite language would seem like an appropriate place to show off > the language, since it is a D compiler after all. I might make it a > weekend project of mine sometime. Probably time to get that unit test and regression suite in place, if there are going to be several of "gdmd" around... --anders |
Copyright © 1999-2021 by the D Language Foundation