Am 10.02.2014 00:22, schrieb Stephan Dilly:

On Mon, 30 Dec 2013 12:53:29 +0100, Sönke Ludwig wrote:

Otherwise there is the unfortunate workaround to build with "dub
--build=plain" to disable debug information completely. Or, installing
VisualD and building 64-bit instead of 32-bit will solve the issue, as
it uses a different debug information format.

I have hit this issue now too just by trying to build with unittests:

e:\_docs\_bitbucket\stack4server\src\vibe\s4server>dub build --build=unittest
Checking dependencies in 'e:\_docs\_bitbucket\stack4server\src\vibe\s4server'
Copying files...
Building configuration "application", build type unittest
Compiling...
Linking...
OPTLINK (R) for Win32  Release 8.00.13
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
.dub\build\application-unittest-x86-dmd-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709\s4server.obj(s4server)
  Error 45: Too Much DEBUG Data for Old CodeView format
--- errorlevel 1
Error executing command build: Link command failed with exit code 1

What kind of workaround do i have ?

Three possibilities come to mind:

  • dub build --build=unittest --arch=x86_64 to use the MS linker
  • set DFLAGS=-unittest && dub build --build=unittest to disable
    debug symbols for the unittest build
  • using Unilink instead of Optlink might also help, but that would
    need to be manually integrated into the build process