Thread overview
COFF on Win32 how to try?
Oct 10, 2014
Szymon Gatner
Oct 10, 2014
Rainer Schuetze
Oct 10, 2014
Szymon Gatner
Oct 11, 2014
Rainer Schuetze
Oct 11, 2014
Szymon Gatner
Oct 11, 2014
Sag Academy
Oct 11, 2014
Rainer Schuetze
Oct 13, 2014
Szymon Gatner
Oct 13, 2014
Szymon Gatner
Oct 13, 2014
Rainer Schuetze
October 10, 2014
I would like to try recently merged COFF support on Win32 for a hybrid D/C++ application.

Until now I tried that (hybridizing) only with DMD from the official installer and in x64 mode.

My question is: how to try the same in 32 bits?
October 10, 2014

On 10.10.2014 10:37, Szymon Gatner wrote:
> I would like to try recently merged COFF support on Win32 for a hybrid
> D/C++ application.
>
> Until now I tried that (hybridizing) only with DMD from the official
> installer and in x64 mode.
>
> My question is: how to try the same in 32 bits?

You need a recent version of dmd, druntime and phobos from github: https://github.com/D-Programming-Language

If you have never built these yourself, Digger might be of great help: https://github.com/CyberShadow/Digger/releases. It will also fetch these from github and download tools needed for building. Digger doesn't know about COFF32 yet, though.

Then build druntime inside its directory:
make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" target unittest

and phobos:
make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" "AR=\"%VCINSTALLDIR%\bin\lib.exe\""

Add a configuration section [Environment32mscoff] to your sc.ini and add options matching these:

https://github.com/D-Programming-Language/dmd/blob/master/ini/windows/bin/sc.ini#L84

Building is done with option -m32mscoff instead of -m32/-m64.
October 10, 2014
On Friday, 10 October 2014 at 16:14:56 UTC, Rainer Schuetze wrote:
>
>
> On 10.10.2014 10:37, Szymon Gatner wrote:
>> I would like to try recently merged COFF support on Win32 for a hybrid
>> D/C++ application.
>>
>> Until now I tried that (hybridizing) only with DMD from the official
>> installer and in x64 mode.
>>
>> My question is: how to try the same in 32 bits?
>
> You need a recent version of dmd, druntime and phobos from github: https://github.com/D-Programming-Language
>
> If you have never built these yourself, Digger might be of great help: https://github.com/CyberShadow/Digger/releases. It will also fetch these from github and download tools needed for building. Digger doesn't know about COFF32 yet, though.
>
> Then build druntime inside its directory:
> make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" target unittest
>
> and phobos:
> make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" "AR=\"%VCINSTALLDIR%\bin\lib.exe\""
>
> Add a configuration section [Environment32mscoff] to your sc.ini and add options matching these:
>
> https://github.com/D-Programming-Language/dmd/blob/master/ini/windows/bin/sc.ini#L84
>
> Building is done with option -m32mscoff instead of -m32/-m64.


Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all neccessary repos from GitHub. As my understanding is that I should not be doing "Build" with Diggger I just opened Windows console, entered druntime dir and typed:

d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR
%\bin\cl.exe\""

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'
src\core\stdc\stdio.d(861): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(862): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(863): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(864): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(865): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(866): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(867): Error: mismatched number of curly brackets
src\core\stdc\stdio.d(871): Error: asm statements must end in ';'
src\core\stdc\stdio.d(874): Error: found 'private' instead of statement
src\core\stdc\stdio.d(884): Error: no identifier for declarator add
src\core\stdc\stdio.d(887): Error: no identifier for declarator usDone
src\core\stdc\stdio.d(887): Error: Declaration expected, not ':'
src\core\stdc\stdio.d(894): Error: Declaration expected, not '('
src\core\stdc\stdio.d(896): Error: Declaration expected, not 'foreach'
src\core\stdc\stdio.d(896): Error: Declaration expected, not '0'
src\core\stdc\stdio.d(901): Error: no identifier for declarator __fhnd_info[fd]
src\core\stdc\stdio.d(901): Error: Declaration expected, not '='
src\core\stdc\stdio.d(902): Error: Declaration expected, not 'return'
src\core\stdc\stdio.d(904): Error: unrecognized declaration

--- errorlevel 1
October 11, 2014

On 10.10.2014 20:44, Szymon Gatner wrote:
> Hi, thanks for all the information.
>
> I got Digger (pretty nice tool btw) and it pulled all neccessary repos
> from GitHub. As my understanding is that I should not be doing "Build"
> with Diggger I just opened Windows console, entered druntime dir and typed:

You have to build dmd, so it should be  good starting point to succeed in building the full chain for win64: dmd, druntime and win64.

>
> d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff
> "CC=\"%VCINSTALLDIR
> %\bin\cl.exe\""
>
> and got:
>
> dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
> src\core\sync\barrier.d
>
> src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'

Ahh, I thought it would use a compiled dmd by default. You will have to specify the path to dmd too:

make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" DMD=../result/bin/dmd

The given dmd path is specific to building with digger (the normal path is ../dmd/src/dmd). You'll have to update sc.ini there, too.
October 11, 2014
On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze wrote:
>
>
> On 10.10.2014 20:44, Szymon Gatner wrote:
>> Hi, thanks for all the information.
>>
>> I got Digger (pretty nice tool btw) and it pulled all neccessary repos
>> from GitHub. As my understanding is that I should not be doing "Build"
>> with Diggger I just opened Windows console, entered druntime dir and typed:
>
> You have to build dmd, so it should be  good starting point to succeed in building the full chain for win64: dmd, druntime and win64.

You mean for Win32? Beacause that is what I am after.

>
>>
>> d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff
>> "CC=\"%VCINSTALLDIR
>> %\bin\cl.exe\""
>>
>> and got:
>>
>> dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
>> src\core\sync\barrier.d
>>
>> src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'
>
> Ahh, I thought it would use a compiled dmd by default. You will have to specify the path to dmd too:
>
> make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" DMD=../result/bin/dmd
>
> The given dmd path is specific to building with digger (the normal path is ../dmd/src/dmd). You'll have to update sc.ini there, too.

So to build HEAD druntime and Phobos I also need HEAD DMD, correct? Installation of 2.066 I have now is not sufficent?
October 11, 2014
On Saturday, 11 October 2014 at 10:12:47 UTC, Szymon Gatner wrote:
> On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze wrote:
>>
>>
>> On 10.10.2014 20:44, Szymon Gatner wrote:
>>> Hi, thanks for all the information.
>>>
>>> I got Digger (pretty nice tool btw) and it pulled all neccessary repos
>>> from GitHub. As my understanding is that I should not be doing "Build"
>>> with Diggger I just opened Windows console, entered druntime dir and typed:
>>
>> You have to build dmd, so it should be  good starting point to succeed in building the full chain for win64: dmd, druntime and win64.
>
> You mean for Win32? Beacause that is what I am after.
>
>>
>>>
>>> d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff
>>> "CC=\"%VCINSTALLDIR
>>> %\bin\cl.exe\""
>>>
>>> and got:
>>>
>>> dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
>>> src\core\sync\barrier.d
>>>
>>> src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'
>>
>> Ahh, I thought it would use a compiled dmd by default. You will have to specify the path to dmd too:
>>
>> make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" DMD=../result/bin/dmd
>>
>> The given dmd path is specific to building with digger (the normal path is ../dmd/src/dmd). You'll have to update sc.ini there, too.
>
> So to build HEAD druntime and Phobos I also need HEAD DMD, correct? Installation of 2.066 I have now is not sufficent?

sounds good
October 11, 2014

On 11.10.2014 12:12, Szymon Gatner wrote:
> On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze wrote:
>>
>>
>> On 10.10.2014 20:44, Szymon Gatner wrote:
>>> Hi, thanks for all the information.
>>>
>>> I got Digger (pretty nice tool btw) and it pulled all neccessary repos
>>> from GitHub. As my understanding is that I should not be doing "Build"
>>> with Diggger I just opened Windows console, entered druntime dir and
>>> typed:
>>
>> You have to build dmd, so it should be  good starting point to succeed
>> in building the full chain for win64: dmd, druntime and win64.
>
> You mean for Win32? Beacause that is what I am after.

I meant Win64, because the tool chain is very much the same as for win32mscoff (MS compiler and linker and C runtime). Win32 means dmc and optlink. That's also why the win64.mak makefiles are abused for win32mscoff.

>
>>
>>>
>>> d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff
>>> "CC=\"%VCINSTALLDIR
>>> %\bin\cl.exe\""
>>>
>>> and got:
>>>
>>> dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
>>> src\core\sync\barrier.d
>>>
>>> src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'
>>
>> Ahh, I thought it would use a compiled dmd by default. You will have
>> to specify the path to dmd too:
>>
>> make -f win64.mak MODEL=32mscoff "CC=\"%VCINSTALLDIR%\bin\cl.exe\""
>> DMD=../result/bin/dmd
>>
>> The given dmd path is specific to building with digger (the normal
>> path is ../dmd/src/dmd). You'll have to update sc.ini there, too.
>
> So to build HEAD druntime and Phobos I also need HEAD DMD, correct?
> Installation of 2.066 I have now is not sufficent?

Yes, DMD git HEAD is required.
October 13, 2014
On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
wrote:

> Yes, DMD git HEAD is required.

Getting this when trying to build all with Digger:

std\uri.d(872): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\uri.d(1166): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\concurrency.d(1352): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1354): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1348): Error: function
std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
or assert(0); at end of function
std\concurrency.d(1395): Error: function expected before (), not
this.m_fibers[this.m_pos].state() of type State
std\concurrency.d(1971): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(2019): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1822): Error: function
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system).get no return
exp; or assert(0); at end of function
std\concurrency.d(811): Error: template instance
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system) error
instantiating
std\net\curl.d(1185):        instantiated from here:
receiveTimeout!(bool delegate(Tid origin,
CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system)
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(233): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(233): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintcore.d(2056): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintcore.d(2056): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(258): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(258): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(309): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(309): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(390): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(390): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(480): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(480): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(580): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(580): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(834): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-865(865): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(866): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-886(886): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(834): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-865(865): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(866): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-886(886): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(912): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(912): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(1027): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(1027): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(1114): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-1158(1158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(1159): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-1195(1195): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(1114): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-1158(1158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(1159): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-1195(1195): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not

--- errorlevel 1
Fatal error: Command ["make", "-f", "win32.mak", "phobos.lib",
"MODEL=32"] failed with status 1

Sorry for taking your time. I thin, I'll just wait for 2.067 and
re-try then.
October 13, 2014
On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
wrote:

> Yes, DMD git HEAD is required.

Getting this when trying to build all with Digger:

std\uri.d(872): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\uri.d(1166): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\concurrency.d(1352): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1354): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1348): Error: function
std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
or assert(0); at end of function
std\concurrency.d(1395): Error: function expected before (), not
this.m_fibers[this.m_pos].state() of type State
std\concurrency.d(1971): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(2019): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1822): Error: function
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system).get no return
exp; or assert(0); at end of function
std\concurrency.d(811): Error: template instance
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system) error
instantiating
std\net\curl.d(1185):        instantiated from here:
receiveTimeout!(bool delegate(Tid origin,
CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system)
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(233): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(233): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintcore.d(2056): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintcore.d(2056): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(258): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(258): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(309): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(309): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(390): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(390): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(480): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(480): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(580): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(580): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(834): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-865(865): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(866): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-886(886): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(834): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-865(865): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(866): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-886(886): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(912): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(912): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(1027): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(1027): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(754): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-776(776): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(777): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-786(786): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(1114): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-1158(1158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(1159): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-1195(1195): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(1114): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-1158(1158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(1159): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-1195(1195): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not

--- errorlevel 1
Fatal error: Command ["make", "-f", "win32.mak", "phobos.lib",
"MODEL=32"] failed with status 1

Sorry for taking your time. I thin, I'll just wait for 2.067 and
re-try then.
October 13, 2014

On 13.10.2014 10:12, Szymon Gatner wrote:
> On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
> wrote:
>
>> Yes, DMD git HEAD is required.
>
> Getting this when trying to build all with Digger:
>
> std\uri.d(872): Deprecation: alias object.clear is deprecated -
> Please use destroy instead.
> std\uri.d(1166): Deprecation: alias object.clear is deprecated -
> Please use destroy instead.
> std\concurrency.d(1352): Error: function expected before (), not
> currSystemTick() of type TickDuration
> std\concurrency.d(1354): Error: function expected before (), not
> currSystemTick() of type TickDuration
> std\concurrency.d(1348): Error: function
> std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
> or assert(0); at end of function
> std\concurrency.d(1395): Error: function expected before (), not
> this.m_fibers[this.m_pos].state() of type State
> std\concurrency.d(1971): Error: function expected before (), not
> currSystemTick() of type TickDuration
...
>
> --- errorlevel 1
> Fatal error: Command ["make", "-f", "win32.mak", "phobos.lib",
> "MODEL=32"] failed with status 1
>
> Sorry for taking your time. I thin, I'll just wait for 2.067 and
> re-try then.

I believe you have built the pull requests by choosing "Make me one with everything" from the web interface. That stops at the first failing one.

Just hit "Build". That worked for Win32 for me, but I got a ZipException when downloading the tools to build Win64.