dlang-community / drepl

A REPL for D
Boost Software License 1.0
78 stars 20 forks source link

Error Building on Windows #64

Closed jmh530 closed 7 years ago

jmh530 commented 7 years ago

I tried to build drepl with Windows, but got errors. I am not sure if it is supported on Windows yet as there are few details in the readme.md. Looking at the dub.json, it has an option for "lflags-linux-dmd" but nothing for Windows. Nevertheless, I tried to build the current master with dmd 2.74.0 and dub 1.3.0 and got the result below.

C:\ProgrammingFiles\DFiles\dubFolder\drepl-master>dub build Performing "debug" build using dmd for x86. colorize 1.0.5: building configuration "library"... libdparse 0.7.0: building configuration "library"... drepl ~master: building configuration "console"... src\drepl\engines\dmd.d(146,26): Error: template object.dup cannot deduce functi on from argument types !()(int), candidates are: C:\D\dmd2\windows\bin....\src\druntime\import\object.d(1942,6): object. dup(T : V[K], K, V)(T aa) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(1978,6): object. dup(T : V[K], K, V)(T aa) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(3625,16): object .dup(T)(T[] a) if (!is(const(T) : T)) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(3641,15): object .dup(T)(const(T)[] a) if (is(const(T) : T)) src\drepl\engines\dmd.d(147,26): Error: template object.dup cannot deduce functi on from argument types !()(int), candidates are: C:\D\dmd2\windows\bin....\src\druntime\import\object.d(1942,6): object. dup(T : V[K], K, V)(T aa) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(1978,6): object. dup(T : V[K], K, V)(T aa) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(3625,16): object .dup(T)(T[] a) if (!is(const(T) : T)) C:\D\dmd2\windows\bin....\src\druntime\import\object.d(3641,15): object .dup(T)(const(T)[] a) if (is(const(T) : T)) src\drepl\engines\dmd.d(150,9): Error: undefined identifier 'dup2', did you mean template 'dup(T : V[K], K, V)(T aa)'? src\drepl\engines\dmd.d(151,9): Error: undefined identifier 'dup2', did you mean template 'dup(T : V[K], K, V)(T aa)'? src\drepl\engines\dmd.d(167,9): Error: undefined identifier 'dup2', did you mean template 'dup(T : V[K], K, V)(T aa)'? src\drepl\engines\dmd.d(168,9): Error: undefined identifier 'dup2', did you mean template 'dup(T : V[K], K, V)(T aa)'? src\drepl\engines\dmd.d(217,24): Error: undefined identifier 'dlerror', did you mean function 'ferror'? src\drepl\engines\dmd.d(220,16): Error: undefined identifier 'dlsym' dmd failed with exit code 1.

MartinNowak commented 7 years ago

New interactive lines are compiled into a shared library that gets loaded and executed. Unfortunately DLL support isn't nearly working as well as shared libraries atm, so Windows won't be supported until that is implemented upstream.

MartinNowak commented 7 years ago

https://github.com/dlang-community/drepl/commit/c68a409622668c0fabfe3ea84b85ccbd3e57c736