Skip to content

Instantly share code, notes, and snippets.

@rygorous
Last active December 16, 2015 11:29
Embed
What would you like to do?
With Tundra 1.2 I get:
----
C:\Store\Code\tundra-1.2a-win32\examples\hello-world>..\..\tundra.exe
Build script execution failed
[string "tundra.tools.msvc-vs2008"]:31: RegOpenKeyExA: The system cannot find the file specified.
stack traceback:
[C]: in function 'assert'
[string "tundra.tools.msvc-vs2008"]:31: in main chunk
[C]: in function 'require'
[string "tundra.boot"]:163: in function 'load_toolset'
[string "tundra.boot"]:362: in function 'setup_env'
[string "tundra.boot"]:410: in function 'setup_envs'
[string "tundra.boot"]:598: in function 'generate_dag'
[string "tundra.boot"]:731: in function 'Build'
[string "C:\Store\Code\tundra-1.2a-win32\examples\he..."]:1: in main chunk
[C]: in function 'xpcall'
[string "tundra.boot"]:147: in function 'run_build_script'
[string "tundra.boot"]:999: in function 'main'
[string "boot_snippet"]:2: in main chunk
----
I don't have VS2008 installed on this machine. I do have 2010 and 2012 installed. There doesn't
seem to be a default toolset config for "msvc-2010" or "msvc-2012". I would add my own but this
is the binary distribution and I don't see where the configs are - they appear to be compiled in?
With Tundra 2.0, I use the VS2012 bootstrap sln. That bit compiles just fine.
I then tried to self-compile again using tundra but there doesn't seem to be a tundra.lua in the
root directory for 2.0 yet.
Okay, whatever. Try the samples. First attempt:
----
C:\Store\Code\tundra\examples\hello-world>..\..\vs2012\x64\Release\tundra2
C:\Store\Code\tundra\vs2012\x64\Release\t2-lua.exe generate-dag tundra.lua .tundra2.dag.json
1.0-compat: config win32-mingw doesn't specify SupportedHosts -- will never be built
3 valid build tuples
Generating DAG for win32-msvc-release-default
Lua error running tundra.lua
...e\Code\tundra\scripts\tundra\tools\msvc-vscommon.lua:54: RegOpenKeyExA: The system cannot find the file specified.
stack traceback:
[C]: in function 'assert'
...e\Code\tundra\scripts\tundra\tools\msvc-vscommon.lua:54: in function 'apply_msvc_visual_studio'
...ore\Code\tundra\scripts\tundra\tools\msvc-vs2008.lua:6: in function 'apply'
C:\Store\Code\tundra\scripts\tundra\unitgen.lua:41: in function 'load_toolset'
C:\Store\Code\tundra\scripts\tundra\unitgen.lua:71: in function 'setup_env'
C:\Store\Code\tundra\scripts\tundra\unitgen.lua:117: in function 'setup_envs'
C:\Store\Code\tundra\scripts\tundra\unitgen.lua:178: in function 'generate_dag'
C:\Store\Code\tundra\scripts\tundra\boot.lua:66: in function 'generate_dag_data'
C:\Store\Code\tundra\scripts\tundra.lua:31: in function <C:\Store\Code\tundra\scripts\tundra.lua:3>
(tail call): ?
[E] couldn't run external tool with command line: C:\Store\Code\tundra\vs2012\x64\Release\t2-lua.exe generate-dag tundra.lua .tundra2.dag.json
[E] build script didn't generate .tundra2.dag.json
*** Build failed to setup error (0.04 seconds)
----
Ah, again, it's trying to use VS2008 which I don't have installed. Error message for this
could be more useful. :)
Anyway, change that to VS2012 and I get:
----
C:\Store\Code\tundra\examples\hello-world>..\..\vs2012\x64\Release\tundra2
C:\Store\Code\tundra\vs2012\x64\Release\t2-lua.exe generate-dag tundra.lua .tundra2.dag.json
1.0-compat: config win32-mingw doesn't specify SupportedHosts -- will never be built
3 valid build tuples
Generating DAG for win32-msvc-release-default
Generating DAG for win32-msvc-debug-default
Generating DAG for win32-msvc-production-default
save_dag_data: 3 bindings, 26 accessed files
compiling mmapable DAG data..
Cc hello.c
C++ hello.cc
*** Build failed (0.05 seconds)
----
wat. No output files in either directory.
tundra2 -w says:
----
C:\Store\Code\tundra\examples\hello-world>..\..\vs2012\x64\Release\tundra2 -w
[D] PID 5584 successfully locked C:\Store\Code\tundra\examples\hello-world
[D] .tundra2.dag: successfully mapped at 00000000000D0000 (42016 bytes)
[D] checking file signatures for DAG data
[D] DAG signatures match - using existing data w/o Lua invocation
[D] .tundra2.state: successfully mapped at 00000000000E0000 (912 bytes)
[D] .tundra2.scancache: successfully mapped at 0000000000110000 (128 bytes)
[D] Scan cache initialized from frozen data - 2 entries
[D] Node selection finished with 2 nodes to build
[D] Node remap: 12 src nodes, 4 active nodes, using 288 bytes of node state buffer space
[D] build queue initialized; ring buffer capacity = 8
[D] starting build thread 1
[D] starting build thread 2
[D] starting build thread 3
[D] starting build thread 4
[D] starting build thread 5
[D] starting build thread 6
[D] starting build thread 7
[I] begin pass Default (nodes: 0 - 3 (4))
[S] T=7, [0] Advancing Cc hello.c
[S] T=6, [0] Advancing Program t2-output\win32-msvc-debug-default\CXXHelloWorld.exe
[S] T=6, [0] Advancing C++ hello.cc
[S] T=7: building Cc hello.c - previous build failed
[S] T=3, [0] Advancing Program t2-output\win32-msvc-debug-default\HelloWorld.exe
[S] T=6: building C++ hello.cc - previous build failed
[S] Launching process
Cc hello.c[S]
Launching process
C++ hello.cc
[S] Process return code -1073741515
[S] Process return code -1073741515
[S] build thread 2 exiting
[S] build thread 4 exiting
[S] build thread 3 exiting
[S] build thread 5 exiting
[S] build thread 7 exiting
[S] build thread 6 exiting
[S] build thread 0 exiting
[I] end pass Default
[D] destroying build queue
[S] build thread 1 exiting
[D] joining with build thread 1
[D] joining with build thread 2
[D] joining with build thread 3
[D] joining with build thread 4
[D] joining with build thread 5
[D] joining with build thread 6
[D] joining with build thread 7
*** Build failed (0.05 seconds)
----
FWIW, I haven't run "vcvarsall.bat" in this shell session.
I *believe* what is going on is that cl.exe doesn't find some DLLs it depends on.
If I do run "vsvarsall.bat" for VS2012 on the shell, it appears to run just fine.
(Just tried that after I saw the output from "-w").
FWIW, I've had to debug the same problem with the RAD build system (we support
multiple VS versions and don't have them on the path at the same time). What we
normally do in our builds is make sure to run "cl.exe" and "link.exe" with the CWD
being "<VSDir>\Common7\IDE". That works. Changing the build config to add that
directory to the PATH for building might work as well, but I haven't tested yet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment