Thread overview
DMD32 compiling gtkd out of memory on 32bit Windows 7 machine
Sep 12
Timoses
Sep 14
Mike Wey
September 12
hi ,

When compiling gtkd using dub, dmd32 reported "Out for memory" and exit.

OS: Windows 7 32bit.
RAM : 3GB
DMD version: v2.0.82.0 32bit.

No VC or Windows SDK installed, when setting up dmd, I selected install vc2010 and use mingw lib.
September 12
On Wednesday, 12 September 2018 at 06:06:15 UTC, dangbinghoo wrote:
> hi ,
>
> When compiling gtkd using dub, dmd32 reported "Out for memory" and exit.
>
> OS: Windows 7 32bit.
> RAM : 3GB
> DMD version: v2.0.82.0 32bit.
>
> No VC or Windows SDK installed, when setting up dmd, I selected install vc2010 and use mingw lib.

try `dub --build-mode=singleFile` ? I believe this will compile each file and then link them together (instead of compiling it all together what dub does, afaik).
There's been another topic on memory consumption of compilation [1].

[1]: https://forum.dlang.org/post/ehyfilopozdndjdahdim@forum.dlang.org
September 14
On Wednesday, 12 September 2018 at 15:13:36 UTC, Timoses wrote:
>
> try `dub --build-mode=singleFile` ? I believe this will compile each file and then link them together (instead of compiling it all together what dub does, afaik).
> There's been another topic on memory consumption of compilation [1].
>
> [1]: https://forum.dlang.org/post/ehyfilopozdndjdahdim@forum.dlang.org

thanks timoses ,

singleFile mode works for building, but when linking, I got this:

--------------
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 9: Unknown Option : LLIB
OPTLINK : Warning 9: Unknown Option : WIN32
C:\Users\Administrator.USER-20180912OL\AppData\Local\dub\packages\gtk-d-3.8.3\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-9C5C1D99F672708E9D6D6FE9E60296B4\gtkd-3.lib
 Warning 178: .LIB pagesize exceeds 512
C:\Users\Administrator.USER-20180912OL\AppData\Local\dub\packages\gtk-d-3.8.3\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-9C5C1D99F672708E9D6D6FE9E60296B4\gtkd-3.lib
 Error 7: Out of Memory
Error: linker exited with status 1
dmd failed with exit code 1.
---------------

I think that DMD should give up it's DMC linkers, using MinGW ld instead. DMC linker is not even a working linker.


September 14
On 9/14/18 4:02 AM, dangbinghoo wrote:
> thanks timoses ,
> 
> singleFile mode works for building, but when linking, I got this:
> 
> --------------
> OPTLINK (R) for Win32  Release 8.00.17
> Copyright (C) Digital Mars 1989-2013  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> OPTLINK : Warning 9: Unknown Option : LLIB
> OPTLINK : Warning 9: Unknown Option : WIN32
> C:\Users\Administrator.USER-20180912OL\AppData\Local\dub\packages\gtk-d-3.8.3\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-9C5C1D99F672708E9D6D6FE9E60296B4\gtkd-3.lib 
> 
>   Warning 178: .LIB pagesize exceeds 512
> C:\Users\Administrator.USER-20180912OL\AppData\Local\dub\packages\gtk-d-3.8.3\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-9C5C1D99F672708E9D6D6FE9E60296B4\gtkd-3.lib 
> 
>   Error 7: Out of Memory
> Error: linker exited with status 1
> dmd failed with exit code 1.
> ---------------
> 
> I think that DMD should give up it's DMC linkers, using MinGW ld instead. DMC linker is not even a working linker.
> 

You will also have to pass `--build=plain` to dub because of a optlink bug.

https://issues.dlang.org/show_bug.cgi?id=15418

-- 
Mike Wey
September 17
On Friday, 14 September 2018 at 17:34:59 UTC, Mike Wey wrote:
>
> You will also have to pass `--build=plain` to dub because of a optlink bug.
>
> https://issues.dlang.org/show_bug.cgi?id=15418

thanks Mike,

I tried using `--build-plain`, optlink didn't report out of memory, but it hangs !

```
Compiling source\utils.d...
Linking...
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 9: Unknown Option : LLIB
OPTLINK : Warning 9: Unknown Option : WIN32
C:\Users\Administrator.USER-20180912OL\AppData\Local\dub\packages\gtk-d-3.8.3\gtk-d\.dub\build\library-plain-windows-x86-dmd_2082-BF70B0A83AEE3E77C0F6B230586D03B2\gtkd-3.lib
 Warning 178: .LIB pagesize exceeds 512
```

my building command is ` dub build --compiler=dmd -a=x86  -c=windows --build-mode=singleFile --build=plain --force`

Thanks !