Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

digger fails to build D on windows #96

Open
Moth-Tolias opened this issue Jan 9, 2023 · 2 comments
Open

digger fails to build D on windows #96

Moth-Tolias opened this issue Jan 9, 2023 · 2 comments

Comments

@Moth-Tolias
Copy link

when attempting to build, digger fails with the following error [some sections removed for brevity]:

...
digger: Running: "make" -f win32.mak import DMD=C:\Users\Su\Documents\src\dlang\work\build\bin\dmd.exe HOST_DMD=C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe ^"MODEL=32^"
cd ..\dmd/druntime && make -f win32.mak  "DMD_DIR=..\dmd"  "BUILD=release"  "OS=windows"  "DMD=C:\Users\Su\Documents\src\dlang\work\build\bin\dmd.exe"  "CC=dmc"  "MAKE=make"  "HOST_DMD=C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe"  "DOCDIR=doc"  "IMPDIR=import"  "DFLAGS=-m32omf -conf= -O -release -preview=dip1000 -preview=fieldwise -preview=dtorfields -inline -w -Isrc -Iimport"  "UDFLAGS=-m32omf -conf= -O -release -preview=dip1000 -preview=fieldwise -w -Isrc -Iimport"  "UTFLAGS=-version=CoreUnittest -unittest -checkaction=context"  "CFLAGS="  "DRUNTIME_BASE=druntime"  "DRUNTIME=lib\druntime.lib"  "DOCFMT=" import
"make" -f mak/WINDOWS copy DMD="C:\Users\Su\Documents\src\dlang\work\build\bin\dmd.exe" HOST_DMD="C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe" MODEL=32 IMPDIR="import"
if not exist ..\generated md ..\generated
if not exist ..\generated\windows md ..\generated\windows
if exist "../../release-build/dmd-2.079.0/windows/bin/dmd.exe" (echo @"../../release-build/dmd-2.079.0/windows/bin/dmd.exe" %* >..\generated\windows\host_dmd.bat)
if not ""  == "" ("\dmd2\Windows\bin\dmd.exe" --version >nul 2>&1 && echo @"\dmd2\Windows\bin\dmd.exe" %* >..\generated\windows\host_dmd.bat)
if not ""  == "" (""  --version >nul 2>&1 && echo @"" %* >..\generated\windows\host_dmd.bat)
if not "C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe" == "" ("C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe" --version >nul 2>&1 && echo @"C:\Users\Su\Documents\src\dlang\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe" %* >..\generated\windows\host_dmd.bat)
..\generated\windows\host_dmd.bat -of=..\generated\windows\copyimports.exe -m32 mak\copyimports.d
creating import\object.d
...
creating import\etc\linux\memoryerror.d


xcopy /s /e /h /i ..\dmd/druntime/import import
Invalid number of parameters

--- errorlevel 4
digger: Not caching druntime dependency build failure.
digger: Clearing temporary cache

object.Exception@C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(898): Command ["make", "-f", "win32.mak", "import", "DMD=C:\\Users\\Su\\Documents\\src\\dlang\\work\\build\\bin\\dmd.exe", "HOST_DMD=C:\\Users\\Su\\Documents\\src\\dlang\\work\\dl\\dmd-2.079.0\\dmd2/windows/bin\\dmd.exe", "MODEL=32"] failed with status 4
----------------
0x00007FF7EE3A51D3 in std.exception.bailOut!(object.Exception).bailOut at C:\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d(518)
0x00007FF7EE3A50D9 in std.exception.enforce!().enforce!bool.enforce at C:\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d(439)
0x00007FF7EE615719 in ae.sys.d.manager.DManager.Component.run at C:\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d(436)
0x00007FF7EE61BB8E in ae.sys.d.manager.DManager.Druntime.runMake at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(1467)
0x00007FF7EE61B05F in ae.sys.d.manager.DManager.Druntime.performBuild at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(1418)
0x00007FF7EE6123BB in ae.sys.d.manager.DManager.Component.needBuild at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(552)
0x00007FF7EE612D99 in ae.sys.d.manager.DManager.Component.needInstalled at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(702)
0x00007FF7EE624172 in ae.sys.d.manager.DManager.build at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\sys\d\manager.d(2284)
0x00007FF7EE5830B5 in custom.runBuild at C:\Users\Su\AppData\Local\dub\packages\digger-3.0.8\digger\custom.d(64)
0x00007FF7EE583D04 in custom.buildCustom at C:\Users\Su\AppData\Local\dub\packages\digger-3.0.8\digger\custom.d(135)
0x00007FF7EE584316 in digger.Digger.build at C:\Users\Su\AppData\Local\dub\packages\digger-3.0.8\digger\digger.d(72)
0x00007FF7EE6DCFE3 in ae.utils.funopt.funopt!(build, FunOptConfig(null), usageFun).funopt at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\funopt.d(308)
0x00007FF7EE6DA5A5 in ae.utils.funopt.funoptDispatch!(digger.Digger, FunOptConfig(null), usageFun).funoptDispatch.fun at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\funopt.d(844)
0x00007FF7EE7043D0 in ae.utils.funopt.funoptDispatch!(digger.Digger, FunOptConfig(null), usageFun).funoptDispatch.funopt!(fun, FunOptConfig([config.stopOnFirstNonOption]), myUsageFun).funopt at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\funopt.d(308)
0x00007FF7EE6DA390 in ae.utils.funopt.funoptDispatch!(digger.Digger, FunOptConfig(null), usageFun).funoptDispatch at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\funopt.d(858)
0x00007FF7EE585891 in digger.digger at C:\Users\Su\AppData\Local\dub\packages\digger-3.0.8\digger\digger.d(275)
0x00007FF7EE5861A5 in digger.main!(digger).main.run at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\main.d(36)
0x00007FF7EE5874C2 in digger.main!(digger).main.runCatchingException!(std.getopt.GetOptException, "Usage error").runCatchingException at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\main.d(47)
0x00007FF7EE58616E in D main at C:\Users\Su\AppData\Local\dub\packages\ae-0.0.3227\ae\utils\main.d(70)
0x00007FF7EE7F9213 in void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll().__lambda2()
0x00007FF7EE7F900F in void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate())
0x00007FF7EE7F912F in void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll()
0x00007FF7EE7F900F in void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate())
0x00007FF7EE7F8DE0 in d_run_main2
0x00007FF7EE7BADA9 in d_run_main
0x00007FF7EE5861E2 in digger._d_cmain!().main at C:\D\dmd2\windows\bin\..\..\src\druntime\import\core\internal\entrypoint.d(29)
0x00007FF7EE8D5C68 in __scrt_common_main_seh at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
0x00007FFB2A321412 in BaseThreadInitThunk
0x00007FFB2C0A5504 in RtlUserThreadStart
Error Program exited with code 1

it appears that something [make?] is calling xcopy with invalid arguments.

@Moth-Tolias
Copy link
Author

seems like this is the result of an incorrectly configured makefile in the outdated, archived version of druntime at https://github.com/dlang/druntime... fixing it in the downloaded repo and running digger rebuild just results in another error later down the line however - perhaps digger needs to be adjusted to take the dmd/druntime merge into account?

@CyberShadow
Copy link
Owner

Yes and also there is a bug in the DMD or Druntime makefiles, which attempt to provide backwards compatibility but fail to do so in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants