CyberShadow / Digger

A tool to build D and bisect old D versions
Other
57 stars 9 forks source link

Digger v3.0 alpha 5 / DMD 2.080.0 / Can't build... / #69

Closed Robert-M-Muench closed 6 years ago

Robert-M-Muench commented 6 years ago

I removed my work/ directory as I had some problems and run Digger again, which downloaded a bunch of things and failed with this:

D:\develop\d-language\Digger> .\digger.exe build
digger: Building spec: master
digger: Adding D:\develop\d-language\Digger\work\dl\git\cmd to PATH.
digger: Updating repo...
Fetching origin
digger: Starting at meta repository commit 8f79556c48f5161b5702589d47745fc9fb620eeb
digger: Building components dmd, druntime, phobos-includes, phobos, rdmd
digger: needInstalled: dmd-c86d97955d5bc565441e1aa3ee7664ae3f748683-3f836c943d2670833cf056224634bb96 
digger: Clearing temporary cache
digger: Cache miss.
digger: needBuild: dmd-c86d97955d5bc565441e1aa3ee7664ae3f748683-3f836c943d2670833cf056224634bb96 
digger: Cleaning repository dmd...
HEAD is now at c86d979 Merge pull request #8212 from MartinNowak/merge_stable
digger: Building dmd-c86d97955d5bc565441e1aa3ee7664ae3f748683-3f836c943d2670833cf056224634bb96 
digger: Preparing DigitalMars C++
digger: Installing DigitalMars C++ v8.57 to D:\develop\d-language\Digger\work\dl\dm857-snn2074-optlink80017...
digger: Unpacking D:\develop\d-language\Digger\work\dl\dm857c.zip to D:\develop\d-language\Digger\work\dl\dm857c...
digger: Not caching dmd build failure due to temporary/environment error.

std.file.FileException@std\file.d(945): Attempting to rename file D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows\dmd2\windows\lib\snn.lib to D:\develop\d-language\Digger\work\dl\dm857-snn2074-optlink80017.7712.9984.temp\lib\snn.lib: Das System kann die angegebene Datei nicht finden.

The last line states that the file can't be found.

CyberShadow commented 6 years ago

It looks like there is a problem with the downloaded 2.074.0 zip file.

Does D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows\dmd2\windows\lib\snn.lib exist?

If not, what is in the D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows directory? And, is there a D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows.zip?

CyberShadow commented 6 years ago

Just tried a from-scratch build and It Works On My Machine™.

Robert-M-Muench commented 6 years ago

D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows\dmd2\windows\lib\snn.lib doesn't exists.

In D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows there is only the dmd2 directory. So, no ZIP file. I have a d:/develop/d-language/Digger/work/dl/dmd.2.074.0.windows.7z file. This contains the snn.lib file.

CyberShadow commented 6 years ago

That's interesting. Possibly a conflict between the .zip and the .7z file.

Could you please delete the work directory, run Digger to re-download everything and reproduce the issue, and post the full log, so that it includes what was downloaded and unpacked?

Robert-M-Muench commented 6 years ago

Here we go, sorry for the delay:

Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Loading Robby Profile

Visual Studio 2017 Command Prompt variables set.
Das Laden von persönlichen und Systemprofilen dauerte 1294 ms.
D:\develop\d-language\Digger> ls

    Verzeichnis: D:\develop\d-language\Digger

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         02.05.18     11:22                test
d-----         04.03.18     14:54                ae
d-----         04.03.18     14:54                web
d-----         02.05.18     23:11                work
d-----         04.03.18     14:54                win32
------         04.03.18     14:54            743 dub.sdl
------         04.03.18     14:54           7667 digger.d
------         04.03.18     14:54            411 common.d
------         04.03.18     14:54            324 LICENSE.md
------         04.03.18     14:54           2526 repo.d
------         04.03.18     14:54           2356 bisect.ini.sample
------         04.03.18     14:54           9889 bisect.d
------         04.03.18     14:54           5408 CHANGELOG.md
------         04.03.18     14:54             60 dub.selections.json
------         04.03.18     14:54           7567 digger-web.d
------         04.03.18     14:54           6185 README.md
------         04.03.18     14:54        9140068 digger
------         04.03.18     14:54           7296 custom.d
------         04.03.18     14:54            358 appveyor.yml
------         04.03.18     14:54          17598 install.d
------         04.03.18     14:54           2376 config.d
------         02.05.18     11:29       10369464 digger.exe
------         04.03.18     14:54           5778 digger.ini.sample
------         04.03.18     14:54        5509960 digger-web

D:\develop\d-language\Digger> .\digger
Digger v3.0 alpha 5 - a D source code building and archaeology tool
Created by Vladimir Panteleev <vladimir@thecybershadow.net>
https://github.com/CyberShadow/Digger

Configuration file: (not present)
Working directory: D:\develop\d-language\Digger\work

Usage: digger [OPTION]... ACTION [ACTION-ARGUMENTS]...

Options:
      --config-file=PATH   Path to the configuration file to use
      --offline            Do not update D repositories from GitHub
                           [local.offline]
  -j, --jobs=N             How many jobs to run makefiles in [local.makeJobs]
  -c, --config NAME=VALUE  Additional configuration. Equivalent to digger.ini
                           settings.
      ACTION               Action to perform (see list below)

Actions:
  build      Build D from source code
  rebuild    Incrementally rebuild the current D checkout
  test       Run tests for enabled components
  checkout   Check out D source code from git
  install    Install Digger's build result on top of an existing stable DMD
             installation
  uninstall  Undo the "install" action
  bisect     Bisect D history according to a bisect.ini file
  cache      Cache maintenance actions (run with no arguments for details)

For help on a specific action, run: digger ACTION --help
For more information, see README.md.

std.getopt.GetOptException@C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(293): No action specified.
----------------
0x0052C417 in _D2ae5utils6funopt__TQkS_DQyQxQt__T14funoptDispatchTS6digger6DiggerVSQCpQCpQCm12FunOptConfigS1nS51AF7AA587E767457D346232F97407B4 at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(293)
0x0051AF94 in int ae.utils.funopt.funoptDispatch!(digger.Digger, ae.utils.funopt.FunOptConfig(null), digger.digger().usageFun(immutable(char)[])).funoptDispatch(immutable(char)[][]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(599)
0x004A9C7E in int digger.digger() at D:\develop\d-language\Digger\digger.d(249)
0x004AA09C in int digger.__mixin21.run(immutable(char)[][]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\main.d(40)
0x004AA0AE in _Dmain at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\main.d(69)
0x0059E1F7 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().__lambda1()
0x0059E179 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()
0x0059E014 in _d_run_main
0x004AA908 in main at D:\develop\d-language\Digger\bisect.d(7)
0x006015A1 in mainCRTStartup
0x75338484 in BaseThreadInitThunk
0x77202EC0 in RtlValidSecurityDescriptor
0x77202E90 in RtlValidSecurityDescriptor

D:\develop\d-language\Digger> .\digger build
digger: Building spec: master
digger: First run detected.
Please be patient, cloning everything might take a few minutes...

digger: Installing Git to D:\develop\d-language\Digger\work\dl\git...
digger: Downloading https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-preview20140815/PortableGit-1.9.4-preview20140815.7z to D:\develop\d-language\Digger\work\dl\PortableGit-1.9.4-preview20140815.7z...
digger: Verifying PortableGit-1.9.4-preview20140815.7z.764.6156.temp...
digger: Unpacking D:\develop\d-language\Digger\work\dl\PortableGit-1.9.4-preview20140815.7z to D:\develop\d-language\Digger\work\dl\git.764.6156.temp...
digger: Installing 7-Zip to D:\develop\d-language\Digger\work\dl\7z...
digger: Downloading http://downloads.sourceforge.net/sevenzip/7za920.zip to D:\develop\d-language\Digger\work\dl\7za920.zip...
digger: Verifying 7za920.zip.764.6156.temp...
digger: Unpacking D:\develop\d-language\Digger\work\dl\7za920.zip to D:\develop\d-language\Digger\work\dl\7z.764.6156.temp...
digger: Done installing 7-Zip.
digger: Adding D:\develop\d-language\Digger\work\dl\7z to PATH.
digger: Done installing Git.
digger: Adding D:\develop\d-language\Digger\work\dl\git\cmd to PATH.
digger: Cloning initial repository...
Cloning into 'D:\develop\d-language\Digger\work\repo.764.6156.temp'...
remote: Counting objects: 129212, done.
remote: Compressing objects: 100% (64901/64901), done.
remote: Total 129212 (delta 74844), reused 110847 (delta 64311)
Receiving objects: 100% (129212/129212), 16.17 MiB | 1.26 MiB/s, done.
Resolving deltas: 100% (74844/74844), done.
Checking connectivity... done.
digger: Updating repo...
digger: Starting at meta repository commit bd5ee023bef7dad9e036a7ca32c9420e475f19f1
digger: Building components dmd, druntime, phobos-includes, phobos, rdmd
digger: needInstalled: dmd-843dbf3fa056a0a35b5c59c58a129ec65818b24d-173fec4818a0a031b75914fd53f989b0
digger: Clearing temporary cache
digger: Cache miss.
digger: needBuild: dmd-843dbf3fa056a0a35b5c59c58a129ec65818b24d-173fec4818a0a031b75914fd53f989b0
digger: Initializing and updating submodule dmd...
Cloning into 'dmd'...
remote: Counting objects: 136738, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 136738 (delta 8), reused 10 (delta 5), pack-reused 136716
Receiving objects: 100% (136738/136738), 87.03 MiB | 4.94 MiB/s, done.
Resolving deltas: 100% (105627/105627), done.
Checking connectivity... done.
digger: Cleaning repository dmd...
digger: Building dmd-843dbf3fa056a0a35b5c59c58a129ec65818b24d-173fec4818a0a031b75914fd53f989b0
digger: Preparing DigitalMars C++
digger: Installing DigitalMars C++ v8.57 to D:\develop\d-language\Digger\work\dl\dm857-snn2074-optlink80017...
digger: Downloading http://downloads.dlang.org/other/dm857c.zip to D:\develop\d-language\Digger\work\dl\dm857c.zip...
digger: Verifying dm857c.zip.764.6156.temp...
digger: Unpacking D:\develop\d-language\Digger\work\dl\dm857c.zip to D:\develop\d-language\Digger\work\dl\dm857c...
digger: Downloading http://downloads.dlang.org/releases/2.x/2.074.0/dmd.2.074.0.windows.7z to D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows.7z...
digger: Verifying dmd.2.074.0.windows.7z.764.6156.temp...
digger: Unpacking D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows.7z to D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows...
digger: Not caching dmd build failure due to temporary/environment error.

ae.sys.windows.exception.WindowsException@C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\windows\exception.d(50): CreateHardLink failed: D:\develop\d-language\Digger\work\dl\dm857-snn2074-optlink80017.764.6156.temp\bin\link.exe -> D:\develop\d-language\Digger\work\dl\dm857-snn2074-optlink80017.764.6156.temp\bin\optlink.exe: Falscher Parameter. (error 87)
----------------
0x0050EF48 in void* ae.sys.windows.exception.wenforce!(void*).wenforce(void*, immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\windows\exception.d(60)
0x004F34AE in void ae.sys.file.hardLink!().hardLink(immutable(char)[], immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\file.d(699)
0x004FE8E4 in void ae.sys.install.dmc.DMCInstaller.installImpl(immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\install\dmc.d(125)
0x004FCB4F in void ae.sys.install.common.Installer.atomicInstallImpl().installProxy(immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\install\common.d(160)
0x004FD885 in void ae.sys.file.atomic!(ae.sys.install.common.Installer.atomicInstallImpl().installProxy(immutable(char)[]), 0u).atomic(immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\file.d(1383)
0x004FD7E1 in _D2ae3sys4file__T6atomicS_DQzQy7install6common9Installer17atomicInstallImplMFZ12installProxyMFAy6D368EF55511DE7CF9C3F80854682631 at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\file.d(1371)
0x004FCB30 in void ae.sys.install.common.Installer.atomicInstallImpl() at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\install\common.d(161)
0x004FCAB6 in void ae.sys.install.common.Installer.install() at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\install\common.d(154)
0x004FC8A3 in void ae.sys.install.common.Installer.requireLocal(bool) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\install\common.d(128)
0x004E6E9D in void ae.sys.d.manager.DManager.needDMC(ref ae.sys.d.manager.DManager.Environment, immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(2338)
0x004DF7E0 in void ae.sys.d.manager.DManager.Component.needCC(ref ae.sys.d.manager.DManager.Environment, immutable(char)[], immutable(char)[]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(824)
0x004E016D in void ae.sys.d.manager.DManager.DMD.performBuild() at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(951)
0x004DE335 in void ae.sys.d.manager.DManager.Component.needBuild() at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(516)
0x004DE876 in void ae.sys.d.manager.DManager.Component.needInstalled() at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(666)
0x004E5A5A in void ae.sys.d.manager.DManager.build(ae.sys.d.manager.DManager.SubmoduleState, bool) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\sys\d\manager.d(2069)
0x004A7ED5 in void custom.runBuild(immutable(char)[], ae.sys.d.manager.DManager.SubmoduleState) at D:\develop\d-language\Digger\custom.d(57)
0x004A93C8 in void custom.buildCustom(immutable(char)[]) at D:\develop\d-language\Digger\custom.d(271)
0x004A96C8 in _D6digger6Digger5buildFS2ae5utils6funopt__T10OptionImplVEQBhQBhQBe10OptionTypei0TbVAyaa12_686964DE52318C4D543263EB4945A7EE370BC1 at D:\develop\d-language\Digger\digger.d(69)
0x0051C13A in _D2ae5utils6funopt__TQkS_D6digger6Digger5buildFSQBuQBuQBr__T10OptionImplVEQCuQCuQCr10OptionTypeiE1CE98D83FDBAF71356FA2F08DBB1929 at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(304)
0x0051B0C8 in int ae.utils.funopt.funoptDispatch!(digger.Digger, ae.utils.funopt.FunOptConfig(null), digger.digger().usageFun(immutable(char)[])).funoptDispatch(immutable(char)[][]).fun(immutable(char)[], immutable(char)[][]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(585)
0x0052C498 in _D2ae5utils6funopt__TQkS_DQyQxQt__T14funoptDispatchTS6digger6DiggerVSQCpQCpQCm12FunOptConfigS1nS51AF7AA587E767457D346232F97407B4 at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(304)
0x0051AF94 in int ae.utils.funopt.funoptDispatch!(digger.Digger, ae.utils.funopt.FunOptConfig(null), digger.digger().usageFun(immutable(char)[])).funoptDispatch(immutable(char)[][]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\funopt.d(599)
0x004A9C7E in int digger.digger() at D:\develop\d-language\Digger\digger.d(249)
0x004AA09C in int digger.__mixin21.run(immutable(char)[][]) at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\main.d(40)
0x004AA0AE in _Dmain at C:\Users\robby\AppData\Local\dub\packages\ae-0.0.2155\ae\utils\main.d(69)
0x0059E1F7 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().__lambda1()
0x0059E179 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()
0x0059E014 in _d_run_main
0x004AA908 in main at D:\develop\d-language\Digger\bisect.d(7)
0x006015A1 in mainCRTStartup
0x75338484 in BaseThreadInitThunk
0x77202EC0 in RtlValidSecurityDescriptor
0x77202E90 in RtlValidSecurityDescriptor
D:\develop\d-language\Digger>
CyberShadow commented 6 years ago

Thanks. It doesn't look like it's what I suspected.

Could you please post the contents of the D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows directory, e.g. with the command tree D:\develop\d-language\Digger\work\dl\dmd.2.074.0.windows ?

Robert-M-Muench commented 6 years ago
D:.
└───dmd2
    ├───man
    │   ├───man5
    │   └───man1
    ├───osx
    │   └───bin
    ├───html
    │   └───d
    │       ├───css
    │       ├───changelog
    │       ├───images
    │       │   ├───ddox
    │       │   └───orgs-using-d
    │       ├───js
    │       ├───spec
    │       ├───zlib
    │       └───phobos
    ├───freebsd
    │   ├───bin64
    │   └───bin32
    ├───samples
    │   └───d
    │       └───mydll
    ├───linux
    │   ├───bin64
    │   └───bin32
    ├───windows
    │   ├───lib64
    │   ├───bin
    │   ├───bin64
    │   ├───lib
    │   └───lib32mscoff
    ├───solaris
    │   ├───bin64
    │   └───bin32
    └───src
        ├───dmd
        │   ├───ddmd
        │   │   ├───tk
        │   │   ├───backend
        │   │   └───root
        │   └───vcbuild
        ├───druntime
        │   ├───benchmark
        │   │   ├───arrayops
        │   │   ├───aabench
        │   │   ├───extra-files
        │   │   └───gcbench
        │   │       └───vdparser.extra
        │   │           ├───stdext
        │   │           └───vdc
        │   │               ├───parser
        │   │               └───ast
        │   ├───def
        │   ├───test
        │   │   ├───cycles
        │   │   │   └───src
        │   │   ├───shared
        │   │   │   └───src
        │   │   ├───init_fini
        │   │   │   └───src
        │   │   ├───exceptions
        │   │   │   └───src
        │   │   ├───profile
        │   │   │   └───src
        │   │   ├───allocations
        │   │   │   └───src
        │   │   ├───coverage
        │   │   │   └───src
        │   │   └───typeinfo
        │   │       └───src
        │   ├───changelog
        │   ├───mak
        │   ├───import
        │   │   ├───core
        │   │   │   ├───internal
        │   │   │   ├───stdc
        │   │   │   ├───sys
        │   │   │   │   ├───posix
        │   │   │   │   │   ├───net
        │   │   │   │   │   ├───arpa
        │   │   │   │   │   ├───netinet
        │   │   │   │   │   └───sys
        │   │   │   │   ├───osx
        │   │   │   │   │   └───mach
        │   │   │   │   ├───freebsd
        │   │   │   │   │   └───sys
        │   │   │   │   ├───linux
        │   │   │   │   │   └───sys
        │   │   │   │   ├───darwin
        │   │   │   │   │   └───mach
        │   │   │   │   ├───windows
        │   │   │   │   └───solaris
        │   │   │   │       └───sys
        │   │   │   ├───stdcpp
        │   │   │   └───sync
        │   │   └───etc
        │   │       └───linux
        │   └───src
        │       ├───core
        │       │   ├───internal
        │       │   ├───stdc
        │       │   ├───sys
        │       │   │   ├───posix
        │       │   │   │   ├───net
        │       │   │   │   ├───arpa
        │       │   │   │   ├───netinet
        │       │   │   │   └───sys
        │       │   │   ├───bionic
        │       │   │   ├───osx
        │       │   │   │   ├───sys
        │       │   │   │   └───mach
        │       │   │   ├───freebsd
        │       │   │   │   └───sys
        │       │   │   ├───linux
        │       │   │   │   └───sys
        │       │   │   │       └───netinet
        │       │   │   ├───openbsd
        │       │   │   ├───darwin
        │       │   │   │   ├───sys
        │       │   │   │   └───mach
        │       │   │   ├───windows
        │       │   │   └───solaris
        │       │   │       └───sys
        │       │   ├───stdcpp
        │       │   └───sync
        │       ├───etc
        │       │   └───linux
        │       ├───rt
        │       │   ├───util
        │       │   │   └───container
        │       │   ├───backtrace
        │       │   └───typeinfo
        │       ├───gcstub
        │       └───gc
        │           └───impl
        │               ├───manual
        │               └───conservative
        └───phobos
            ├───changelog
            ├───etc
            │   └───c
            │       ├───zlib
            │       └───odbc
            └───std
                ├───experimental
                │   ├───logger
                │   └───allocator
                │       └───building_blocks
                ├───net
                ├───digest
                ├───internal
                │   ├───test
                │   ├───digest
                │   ├───math
                │   └───windows
                ├───algorithm
                ├───regex
                │   └───internal
                ├───container
                ├───windows
                ├───range
                └───c
                    ├───osx
                    ├───freebsd
                    ├───linux
                    └───windows
CyberShadow commented 6 years ago

That looks good as well.

Also, I noticed that the error message in your last log looks different.

Are you running any anti-virus software? Perhaps it's interfering with the filesystem operations.

Robert-M-Muench commented 6 years ago

No, I'm running all this from a Win-10 VM running on OSX.

CyberShadow commented 6 years ago

I just tried it on a fresh Windows 10 VM, and everything works fine:

https://www.youtube.com/watch?v=Y6VoQFAH3VQ

So, sorry to say, but this looks like a problem specific to your environment, and I'm out of ideas of what it could possibly be.

Going further would probably involve adding logging to the respective code or using OS monitoring tools like Process Monitor, though you may find it simpler to just start with a fresh Windows installation / VM.

Since it doesn't look like a problem in any of the code in this repository, I'm closing this issue, as it's not actionable, though if you find it's due to a problem that Digger could work around, we can look into implementing said workaround.

Robert-M-Muench commented 6 years ago

So, after I got Digger up & running on OSX, I bite the bullet to sort out the Windows problems I have. I run Win-10 in a Parallels VM and have all my development stuff on drive D:\ which is a Parallels shared folder. Meaning, this is routed to an OSX directory.

This seems to be the problem. I can build Digger in this D:\ directory. But it's not possible to build DMD using this directory as the working directory.

So, I created a digger.ini file, and explicitly set the working directory to C:\tmo\digger and everything works as expected.

CyberShadow commented 6 years ago

Good to know you got it working in the end.

Thanks for the update, it may come in useful should anyone run into the same problem.