microsoft / microsoft/vscode-cmake-tools
[Bug] CMake Tools causes Ninja builds to stall intermittently on Linux
- Dominant language
- TypeScript
- Stars
- 1.7k
- Forks
- 546
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 32
Description
### Brief Issue Summary
When building a CMake/Ninja project ([DFHack](https://github.com/DFHack/dfhack/)) through CMake Tools in VS Code on Linux, the build takes significantly longer than the identical build from a terminal. During the VS Code build, Ninja intermittently stalls for several seconds.
The project has 612 build steps and is built from a clean state.
Terminal:
```text
$ time cmake --build build/ --config RelWithDebInfo --target all
[612/612] Linking CXX shared module plugins/stockpiles/stockpiles.plug.so
real 1m10.196s
user 22m24.291s
sys 1m45.415s
```
VS Code / CMake Tools:
```text
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/chris/git/dfhack/build --config RelWithDebInfo --target all --
...
[build] [612/612 100% :: 154.046] Linking CXX shared module plugins/stonesense/stonesense.plug.so
[driver] Build completed: 00:03:04.301
```
Both builds are from a clean state and execute all 612 build steps.
### CMake Tools Diagnostics
```shell
{
"os": "linux",
"vscodeVersion": "1.131.0",
"cmtVersion": "1.24.28",
"configurations": [
{
"folder": "/home/chris/git/dfhack",
"cmakeVersion": "4.3.4",
"configured": true,
"generator": "Ninja",
"usesPresets": false,
"compilers": {
"C": "/usr/bin/gcc-12",
"CXX": "/usr/bin/g++-12"
}
}
],
"cpptoolsIntegration": {
"isReady": false,
"hasCodeModel": false,
"activeBuildType": "",
"buildTypesSeen": [],
"requests": [],
"responses": [],
"partialMatches": [],
"targetCount": 0,
"executablesCount": 0,
"librariesCount": 0,
"targets": []
},
"settings": [
{
"communicationMode": "automatic",
"useCMakePresets": "auto",
"configureOnOpen": false
}
]
}
```
### Debug Log
```shell
[main] Building folder: /home/chris/git/dfhack/build clean
[main] Saving open files before configure/build
[build] Starting build
[driver] Start build clean
[proc] Executing command: /usr/bin/cmake --build /home/chris/git/dfhack/build --config RelWithDebInfo --target clean --
[proc] with environment: {"CHROME_DESKTOP":"code.desktop","COLORTERM":"truecolor","CONFIG_PROTECT":"/var/bind /usr/share/config","CONFIG_PROTECT_MASK":"/etc/sandbox.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/dconf /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DESKTOP_SESSION":"i3","DISPLAY":":0","DOCKER_HOST":"unix:///run/user/1000/podman/podman.sock","DOTNET_ROOT":"/opt/dotnet-sdk-bin-10.0","EDITOR":"/bin/nano","ELECTRON_NO_ATTACH_CONSOLE":"1","FC_FONTATIONS":"1","GDK_BACKEND":"x11","GDMSESSION":"i3","GSETTINGS_BACKEND":"dconf","GTK_MODULES":"canberra-gtk-module","HOME":"/home/chris","I3SOCK":"/run/user/1000/i3/ipc-socket.1437","INFOPATH":"/usr/share/gcc-data/x86_64-pc-linux-gnu/15/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.46.0/info:/usr/share/autoconf-2.72/info:/usr/share/autoconf-2.13/info:/usr/share/automake-1.18.1/info:/usr/share/info:/usr/share/info/emacs-30","JAVAC":"/etc/java-config-2/current-system-vm/bin/javac","JAVA_HOME":"/etc/java-config-2/current-system-vm","JDK_HOME":"/etc/java-config-2/current-system-vm","KMP_DUPLICATE_LIB_OK":"TRUE","LANG":"C.UTF8","LESS":"-R -M --shift 5","LESSOPEN":"|lesspipe %s","LEX":"flex","LOGNAME":"chris","MAIL":"/var/mail/chris","MANPAGER":"manpager","MANPATH":"/etc/java-config-2/current-system-vm/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/15/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.46.0/man:/etc/java-config-2/current-system-vm/man/:/usr/local/share/man:/usr/share/man:/usr/lib/rust/man-bin-1.93.1:/usr/lib/rust/man-bin-1.94.1:/usr/lib/rust/man-bin-1.95.0:/usr/lib/llvm/22/share/man:/usr/lib/llvm/21/share/man","MOTD_SHOWN":"pam","MOZ_GMP_PATH":"/usr/lib64/nsbrowser/plugins/gmp-gmpopenh264/system-installed","NO_AT_BRIDGE":"1","NPM_CONFIG_GLOBALCONFIG":"/etc/npm/npmrc","PAGER":"/usr/bin/less","PATH":"/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/22/bin:/usr/lib/llvm/21/bin","PWD":"/home/chris","R_HOME":"/usr/lib64/R","SHELL":"/bin/bash","SHLVL":"2","TERM":"xterm-256color","USER":"chris","VSCODE_CLI":"1","VSCODE_CODE_CACHE_PATH":"/home/chris/.config/Code/CachedData/e4c7e7b1d6d060162f4aa7f8225271b67ce1df75","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/chris","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-3ee20757-1.13-main.sock","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"c\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/opt/vscode/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"4589","VTE_VERSION":"8203","WINDOWID":"16777219","XAUTHORITY":"/home/chris/.Xauthority","XDG_CONFIG_DIRS":"/etc/xdg","XDG_CURRENT_DESKTOP":"i3","XDG_DATA_DIRS":"/usr/local/share:/usr/share","XDG_GREETER_DATA_DIR":"/var/lib/lightdm-data/chris","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"i3","XDG_SESSION_ID":"3","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"7","_":"/opt/vscode/bin/../code","ELECTRON_RUN_AS_NODE":"1","APPLICATION_INSIGHTS_NO_STATSBEAT":"true","MXC_BIN_DIR":"/opt/vscode/resources/app/node_modules.asar.unpacked/@microsoft/mxc-sdk/bin","COPILOT_CLI_ENABLED_FEATURE_FLAGS":"SHELL_SPAWN_BACKEND","COPILOT_OTEL_FILE_EXPORTER_PATH":"/dev/null","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_CMAKE_TOOLS":"1","NINJA_STATUS":"[%s/%t %p :: %e] "}
[build] [1/2 50% :: 0.105] Cleaning additional files...
[build] [2/2 100% :: 0.507] Cleaning all built files...
[build] Cleaning... 3983 files.
[driver] Build completed: 00:00:00.524
[build] Build finished with exit code 0
[main] Building folder: /home/chris/git/dfhack/build
[main] Saving open files before configure/build
[build] Starting build
[driver] Start build all
[proc] Executing command: /usr/bin/cmake --build /home/chris/git/dfhack/build --config RelWithDebInfo --target all --
[proc] with environment: {"CHROME_DESKTOP":"code.desktop","COLORTERM":"truecolor","CONFIG_PROTECT":"/var/bind /usr/share/config","CONFIG_PROTECT_MASK":"/etc/sandbox.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/dconf /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DESKTOP_SESSION":"i3","DISPLAY":":0","DOCKER_HOST":"unix:///run/user/1000/podman/podman.sock","DOTNET_ROOT":"/opt/dotnet-sdk-bin-10.0","EDITOR":"/bin/nano","ELECTRON_NO_ATTACH_CONSOLE":"1","FC_FONTATIONS":"1","GDK_BACKEND":"x11","GDMSESSION":"i3","GSETTINGS_BACKEND":"dconf","GTK_MODULES":"canberra-gtk-module","HOME":"/home/chris","I3SOCK":"/run/user/1000/i3/ipc-socket.1437","INFOPATH":"/usr/share/gcc-data/x86_64-pc-linux-gnu/15/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.46.0/info:/usr/share/autoconf-2.72/info:/usr/share/autoconf-2.13/info:/usr/share/automake-1.18.1/info:/usr/share/info:/usr/share/info/emacs-30","JAVAC":"/etc/java-config-2/current-system-vm/bin/javac","JAVA_HOME":"/etc/java-config-2/current-system-vm","JDK_HOME":"/etc/java-config-2/current-system-vm","KMP_DUPLICATE_LIB_OK":"TRUE","LANG":"C.UTF8","LESS":"-R -M --shift 5","LESSOPEN":"|lesspipe %s","LEX":"flex","LOGNAME":"chris","MAIL":"/var/mail/chris","MANPAGER":"manpager","MANPATH":"/etc/java-config-2/current-system-vm/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/15/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.46.0/man:/etc/java-config-2/current-system-vm/man/:/usr/local/share/man:/usr/share/man:/usr/lib/rust/man-bin-1.93.1:/usr/lib/rust/man-bin-1.94.1:/usr/lib/rust/man-bin-1.95.0:/usr/lib/llvm/22/share/man:/usr/lib/llvm/21/share/man","MOTD_SHOWN":"pam","MOZ_GMP_PATH":"/usr/lib64/nsbrowser/plugins/gmp-gmpopenh264/system-installed","NO_AT_BRIDGE":"1","NPM_CONFIG_GLOBALCONFIG":"/etc/npm/npmrc","PAGER":"/usr/bin/less","PATH":"/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/22/bin:/usr/lib/llvm/21/bin","PWD":"/home/chris","R_HOME":"/usr/lib64/R","SHELL":"/bin/bash","SHLVL":"2","TERM":"xterm-256color","USER":"chris","VSCODE_CLI":"1","VSCODE_CODE_CACHE_PATH":"/home/chris/.config/Code/CachedData/e4c7e7b1d6d060162f4aa7f8225271b67ce1df75","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/chris","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-3ee20757-1.13-main.sock","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"c\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/opt/vscode/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"4589","VTE_VERSION":"8203","WINDOWID":"16777219","XAUTHORITY":"/home/chris/.Xauthority","XDG_CONFIG_DIRS":"/etc/xdg","XDG_CURRENT_DESKTOP":"i3","XDG_DATA_DIRS":"/usr/local/share:/usr/share","XDG_GREETER_DATA_DIR":"/var/lib/lightdm-data/chris","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"i3","XDG_SESSION_ID":"3","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"7","_":"/opt/vscode/bin/../code","ELECTRON_RUN_AS_NODE":"1","APPLICATION_INSIGHTS_NO_STATSBEAT":"true","MXC_BIN_DIR":"/opt/vscode/resources/app/node_modules.asar.unpacked/@microsoft/mxc-sdk/bin","COPILOT_CLI_ENABLED_FEATURE_FLAGS":"SHELL_SPAWN_BACKEND","COPILOT_OTEL_FILE_EXPORTER_PATH":"/dev/null","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_CMAKE_TOOLS":"1","NINJA_STATUS":"[%s/%t %p :: %e] "}
[build] [26/612 0% :: 0.329] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/service.cc.o
[build] [27/612 0% :: 0.362] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/stubs/structurally_valid.cc.o
[build] [28/612 0% :: 0.424] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/gzip_stream.cc.o
[build] [29/612 0% :: 0.502] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/stubs/substitute.cc.o
[build] [30/612 0% :: 0.583] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/zero_copy_stream_impl.cc.o
[build] [31/612 0% :: 0.587] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/coded_stream.cc.o
[build] [32/612 1% :: 0.590] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/generated_message_util.cc.o
[build] [33/612 1% :: 0.697] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/stubs/once.cc.o
[build] [34/612 1% :: 0.776] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/message_lite.cc.o
[build] [35/612 1% :: 0.779] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/stubs/common.cc.o
[build] [36/612 1% :: 0.788] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/unknown_field_set.cc.o
[build] [37/612 1% :: 0.800] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/reflection_ops.cc.o
[build] [38/612 2% :: 0.860] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/tokenizer.cc.o
[build] [39/612 2% :: 0.877] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/repeated_field.cc.o
[build] [40/612 2% :: 0.879] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/zero_copy_stream.cc.o
[build] [41/612 2% :: 0.913] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/printer.cc.o
[build] [42/612 2% :: 1.074] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/wire_format_lite.cc.o
[build] [43/612 2% :: 1.077] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/dynamic_message.cc.o
[build] [44/612 3% :: 1.101] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/extension_set_heavy.cc.o
[build] [45/612 3% :: 1.148] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/io/zero_copy_stream_impl_lite.cc.o
[build] [46/612 3% :: 1.189] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/stubs/strutil.cc.o
[build] [47/612 3% :: 1.254] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/message.cc.o
[build] [48/612 3% :: 1.305] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/code_generator.cc.o
[build] [49/612 3% :: 1.331] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/compiler/importer.cc.o
[build] [50/612 4% :: 1.336] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/wire_format.cc.o
[build] [51/612 4% :: 1.637] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_generator.cc.o
[build] [52/612 4% :: 1.667] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_enum_field.cc.o
[build] [53/612 4% :: 1.682] Obtaining git commit information
[build] [54/612 4% :: 1.710] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_field.cc.o
[build] [55/612 4% :: 1.795] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/subprocess.cc.o
[build] [56/612 5% :: 1.807] Building CXX object depends/protobuf/CMakeFiles/protoc-bin.dir/google/protobuf/compiler/main.cc.o
[build] [57/612 5% :: 1.833] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/zip_writer.cc.o
[build] [58/612 5% :: 1.876] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_file.cc.o
[build] [59/612 5% :: 1.894] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_message_field.cc.o
[build] [60/612 5% :: 1.919] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_enum.cc.o
[build] [61/612 5% :: 1.949] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lbitlib.c.o
[build] [62/612 6% :: 1.956] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lctype.c.o
[build] [63/612 6% :: 1.988] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lcorolib.c.o
[build] [64/612 6% :: 1.998] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lbaselib.c.o
[build] [65/612 6% :: 2.062] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_string_field.cc.o
[build] [66/612 6% :: 2.064] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/generated_message_reflection.cc.o
[build] [67/612 6% :: 2.090] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_primitive_field.cc.o
[build] [68/612 7% :: 2.100] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ldblib.c.o
[build] [69/612 7% :: 2.161] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lauxlib.c.o
[build] [70/612 7% :: 2.163] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lfunc.c.o
[build] [71/612 7% :: 2.165] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lapi.c.o
[build] [72/612 7% :: 2.166] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ldump.c.o
[build] [73/612 7% :: 2.183] Building CXX object depends/lua/CMakeFiles/lua.dir/src/linit.c.o
[build] [74/612 8% :: 2.198] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/plugin.cc.o
[build] [75/612 8% :: 2.203] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ldebug.c.o
[build] [76/612 8% :: 2.246] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lmem.c.o
[build] [77/612 8% :: 2.254] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lopcodes.c.o
[build] [78/612 8% :: 2.260] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ldo.c.o
[build] [79/612 8% :: 2.270] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_service.cc.o
[build] [80/612 8% :: 2.297] Building CXX object depends/lua/CMakeFiles/lua.dir/src/loadlib.c.o
[build] [81/612 9% :: 2.321] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
[build] [82/612 9% :: 2.324] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/plugin.pb.cc.o
[build] [83/612 9% :: 2.336] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/text_format.cc.o
[build] [84/612 9% :: 2.340] Building CXX object depends/lua/CMakeFiles/lua.dir/src/liolib.c.o
[build] [85/612 9% :: 2.356] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/descriptor_database.cc.o
[build] [86/612 9% :: 2.360] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lcode.c.o
[build] [87/612 10% :: 2.362] Building CXX object depends/lua/CMakeFiles/lua.dir/src/loslib.c.o
[build] [88/612 10% :: 2.373] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_extension.cc.o
[build] [89/612 10% :: 2.384] Building CXX object depends/lua/CMakeFiles/lua.dir/src/llex.c.o
[build] [90/612 10% :: 2.390] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lgc.c.o
[build] [91/612 10% :: 2.392] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/compiler/parser.cc.o
[build] [92/612 10% :: 2.394] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lstate.c.o
[build] [93/612 11% :: 2.397] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_helpers.cc.o
[build] [94/612 11% :: 2.397] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lstring.c.o
[build] [95/612 11% :: 2.413] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lmathlib.c.o
[build] [96/612 11% :: 2.426] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ltm.c.o
[build] [97/612 11% :: 2.434] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lzio.c.o
[build] [98/612 11% :: 2.458] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lutf8lib.c.o
[build] [99/612 12% :: 2.475] Building CXX object depends/md5/CMakeFiles/dfhack-md5.dir/md5.cpp.o
[build] [100/612 12% :: 2.479] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ltablib.c.o
[build] [101/612 12% :: 2.495] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lundump.c.o
[build] [102/612 12% :: 2.550] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lobject.c.o
[build] [103/612 12% :: 2.586] Building CXX object depends/tinyxml/CMakeFiles/dfhack-tinyxml.dir/tinystr.cpp.o
[build] [104/612 12% :: 2.632] Building CXX object depends/tinyxml/CMakeFiles/dfhack-tinyxml.dir/tinyxmlerror.cpp.o
[build] [105/612 13% :: 2.637] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/extension_set.cc.o
[build] [106/612 13% :: 2.666] Building CXX object depends/lua/CMakeFiles/lua.dir/src/ltable.c.o
[build] [107/612 13% :: 2.702] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lparser.c.o
[build] [108/612 13% :: 2.725] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/stubs/once.cc.o
[build] [109/612 13% :: 2.730] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/generated_message_util.cc.o
[build] [110/612 13% :: 2.733] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lstrlib.c.o
[build] [111/612 14% :: 2.829] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/repeated_field.cc.o
[build] [112/612 14% :: 2.853] Generating zip_err_str.c
[build] [113/612 14% :: 2.875] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/io/zero_copy_stream.cc.o
[build] [114/612 14% :: 2.901] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/io/gzip_stream.cc.o
[build] [115/612 14% :: 2.907] Building CXX object depends/clsocket/CMakeFiles/clsocket.dir/src/PassiveSocket.cpp.o
[build] [116/612 14% :: 2.913] Building CXX object depends/clsocket/CMakeFiles/clsocket.dir/src/ActiveSocket.cpp.o
[build] [117/612 15% :: 2.927] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/stubs/common.cc.o
[build] [118/612 15% :: 2.938] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/io/coded_stream.cc.o
[build] [119/612 15% :: 2.947] Building CXX object depends/md5/CMakeFiles/dfhack-md5.dir/md5wrapper.cpp.o
[build] [120/612 15% :: 2.973] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/io/zero_copy_stream_impl_lite.cc.o
[build] [121/612 15% :: 2.975] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_add_dir.c.o
[build] [122/612 15% :: 2.976] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_add.c.o
[build] [123/612 16% :: 2.990] Building CXX object depends/tinyxml/CMakeFiles/dfhack-tinyxml.dir/tinyxmlparser.cpp.o
[build] [124/612 16% :: 3.013] Building CXX object depends/clsocket/CMakeFiles/clsocket.dir/src/SimpleSocket.cpp.o
[build] [125/612 16% :: 3.020] Linking CXX static library depends/md5/libdfhack-md5.a
[build] [126/612 16% :: 3.021] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/message_lite.cc.o
[build] [127/612 16% :: 3.026] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/io/zero_copy_stream_impl.cc.o
[build] [128/612 16% :: 3.032] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_add_entry.c.o
[build] [129/612 16% :: 3.042] Building CXX object depends/lua/CMakeFiles/lua.dir/src/lvm.c.o
[build] [130/612 17% :: 3.045] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o
[build] [131/612 17% :: 3.059] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_delete.c.o
[build] [132/612 17% :: 3.067] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/wire_format_lite.cc.o
[build] [133/612 17% :: 3.076] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_discard.c.o
[build] [134/612 17% :: 3.080] Linking CXX static library depends/clsocket/libclsocket.a
[build] [135/612 17% :: 3.083] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_dir_add.c.o
[build] [136/612 18% :: 3.085] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_entry.c.o
[build] [137/612 18% :: 3.101] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_buffer.c.o
[build] [138/612 18% :: 3.114] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o
[build] [139/612 18% :: 3.114] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error_clear.c.o
[build] [140/612 18% :: 3.118] Linking CXX shared library depends/lua/liblua53.so
[build] [141/612 18% :: 3.128] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error_get.c.o
[build] [142/612 19% :: 3.131] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error.c.o
[build] [143/612 19% :: 3.136] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error_to_str.c.o
[build] [144/612 19% :: 3.140] Building C object depends/libexpat/expat/CMakeFiles/expat.dir/lib/xmlrole.c.o
[build] [145/612 19% :: 3.146] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o
[build] [146/612 19% :: 3.163] Building CXX object library/CMakeFiles/dfhack-version.dir/DFHackVersion.cpp.o
[build] [147/612 19% :: 3.166] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_close.c.o
[build] [148/612 20% :: 3.166] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_add.c.o
[build] [149/612 20% :: 3.170] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fdopen.c.o
[build] [150/612 20% :: 3.171] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o
[build] [151/612 20% :: 3.176] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o
[build] [152/612 20% :: 3.179] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o
[build] [153/612 20% :: 3.180] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fclose.c.o
[build] [154/612 21% :: 3.182] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o
[build] [155/612 21% :: 3.207] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o
[build] [156/612 21% :: 3.210] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o
[build] [157/612 21% :: 3.211] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_rename.c.o
[build] [158/612 21% :: 3.213] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o
[build] [159/612 21% :: 3.215] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fopen.c.o
[build] [160/612 22% :: 3.224] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o
[build] [161/612 22% :: 3.226] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o
[build] [162/612 22% :: 3.227] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o
[build] [163/612 22% :: 3.230] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_replace.c.o
[build] [164/612 22% :: 3.237] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o
[build] [165/612 22% :: 3.243] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o
[build] [166/612 23% :: 3.244] Building CXX object depends/tinyxml/CMakeFiles/dfhack-tinyxml.dir/tinyxml.cpp.o
[build] [167/612 23% :: 3.247] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fopen_index.c.o
[build] [168/612 23% :: 3.247] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_extra_field.c.o
[build] [169/612 23% :: 3.250] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fseek.c.o
[build] [170/612 23% :: 3.252] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fread.c.o
[build] [171/612 23% :: 3.253] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o
[build] [172/612 24% :: 3.258] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o
[build] [173/612 24% :: 3.260] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_ftell.c.o
[build] [174/612 24% :: 3.262] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o
[build] [175/612 24% :: 3.266] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o
[build] [176/612 24% :: 3.275] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o
[build] [177/612 24% :: 3.280] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_name.c.o
[build] [178/612 25% :: 3.280] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o
[build] [179/612 25% :: 3.282] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_get_num_files.c.o
[build] [180/612 25% :: 3.289] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o
[build] [181/612 25% :: 3.294] Linking CXX static library depends/tinyxml/libdfhack-tinyxml.a
[build] [182/612 25% :: 3.300] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_new.c.o
[build] [183/612 25% :: 3.302] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_memdup.c.o
[build] [184/612 25% :: 3.305] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_name_locate.c.o
[build] [185/612 26% :: 3.310] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_dirent.c.o
[build] [186/612 26% :: 3.311] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_io_util.c.o
[build] [187/612 26% :: 3.319] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_replace.c.o
[build] [188/612 26% :: 3.326] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_pkware.c.o
[build] [189/612 26% :: 3.327] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_rename.c.o
[build] [190/612 26% :: 3.333] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o
[build] [191/612 27% :: 3.344] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o
[build] [192/612 27% :: 3.348] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o
[build] [193/612 27% :: 3.350] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o
[build] [194/612 27% :: 3.353] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_hash.c.o
[build] [195/612 27% :: 3.358] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o
[build] [196/612 27% :: 3.365] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o
[build] [197/612 28% :: 3.366] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o
[build] [198/612 28% :: 3.367] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_set_name.c.o
[build] [199/612 28% :: 3.369] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_progress.c.o
[build] [200/612 28% :: 3.370] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_call.c.o
[build] [201/612 28% :: 3.372] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o
[build] [202/612 28% :: 3.380] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o
[build] [203/612 29% :: 3.387] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_close.c.o
[build] [204/612 29% :: 3.400] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_error.c.o
[build] [205/612 29% :: 3.414] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_function.c.o
[build] [206/612 29% :: 3.415] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o
[build] [207/612 29% :: 3.419] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_free.c.o
[build] [208/612 29% :: 3.421] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_crc.c.o
[build] [209/612 30% :: 3.426] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o
[build] [210/612 30% :: 3.436] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o
[build] [211/612 30% :: 3.437] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_layered.c.o
[build] [212/612 30% :: 3.440] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_compress.c.o
[build] [213/612 30% :: 3.440] Building C object depends/libzip/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o
[build] [214/612 30% :: 10.500] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/descriptor.cc.o
[build] [215/612 31% :: 10.500] Building CXX object depends/protobuf/CMakeFiles/protobuf.dir/google/protobuf/descriptor.pb.cc.o
[build] [216/612 31% :: 10.500] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/command_line_interface.cc.o
[build] [217/612 31% :: 10.501] Building CXX object depends/protobuf/CMakeFiles/protoc.dir/google/protobuf/compiler/cpp/cpp_message.cc.o
[build] [218/612 31% :: 10.501] Generating codegen.out.xml and df/headers
[build] [219/612 31% :: 10.559] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
[build] [220/612 31% :: 10.559] Building CXX object depends/protobuf/CMakeFiles/protobuf-lite.dir/google/protobuf/extension_set.cc.o
[build] [221/612 32% :: 10.559] Building CXX object depends/jsoncpp-sub/src/lib_json/CMakeFiles/jsoncpp_static.dir/json_reader.cpp.o
[build] [222/612 32% :: 10.559] Building CXX object depends/jsoncpp-sub/src/lib_json/CMakeFiles/jsoncpp_static.dir/json_value.cpp.o
[build] [384/612 58% :: 32.549] Building CXX object library/CMakeFiles/dfhack.dir/modules/Items.cpp.o
[build] [385/612 58% :: 32.563] Building CXX object library/CMakeFiles/dfhack.dir/modules/Persistence.cpp.o
[build] [386/612 58% :: 80.767] Building CXX object library/CMakeFiles/dfhack.dir/DataStaticsCtor.cpp.o
[build] [387/612 59% :: 80.768] Building CXX object library/CMakeFiles/dfhack.dir/DataStaticsFields/i.cpp.o
[build] [388/612 59% :: 80.769] Building CXX object library/CMakeFiles/dfhack.dir/DataStaticsFields/w.cpp.o
[build] [389/612 59% :: 80.769] Building CXX object library/CMakeFiles/dfhack.dir/modules/Gui.cpp.o
[build] [390/612 59% :: 80.770] Building CXX object library/CMakeFiles/dfhack.dir/modules/Maps.cpp.o
[build] [391/612 59% :: 80.770] Building CXX object library/CMakeFiles/dfhack.dir/modules/Units.cpp.o
[build] [392/612 59% :: 80.771] Building CXX object library/CMakeFiles/dfhack.dir/modules/World.cpp.o
[build] [393/612 60% :: 80.772] Building CXX object library/CMakeFiles/dfhack-test.dir/BitArray.test.cpp.o
[build] [394/612 60% :: 80.772] Building CXX object library/CMakeFiles/dfhooks_dfhack.dir/Hooks.cpp.o
[build] [395/612 60% :: 80.773] Building CXX object plugins/CMakeFiles/3dveins.dir/3dveins.cpp.o
[build] [396/612 60% :: 80.773] Building CXX object plugins/CMakeFiles/army-controller-sanity.dir/army-controller-sanity.cpp.o
[build] [397/612 60% :: 80.774] Building CXX object plugins/CMakeFiles/add-spatter.dir/add-spatter.cpp.o
[build] [398/612 60% :: 80.774] Building CXX object plugins/CMakeFiles/aquifer.dir/aquifer.cpp.o
[build] [399/612 61% :: 80.775] Building CXX object plugins/CMakeFiles/autobutcher.dir/autobutcher.cpp.o
[build] [400/612 61% :: 80.775] Building CXX object plugins/CMakeFiles/autochop.dir/autochop.cpp.o
[build] [401/612 61% :: 80.776] Building CXX object plugins/CMakeFiles/autoclothing.dir/autoclothing.cpp.o
[build] [402/612 61% :: 80.777] Building CXX object plugins/CMakeFiles/design.dir/design.cpp.o
[build] [403/612 61% :: 80.778] Building CXX object plugins/CMakeFiles/autodump.dir/autodump.cpp.o
[build] [404/612 61% :: 80.780] Building CXX object plugins/CMakeFiles/autofarm.dir/autofarm.cpp.o
[build] [405/612 62% :: 80.783] Building CXX object plugins/CMakeFiles/autonestbox.dir/autonestbox.cpp.o
[build] [406/612 62% :: 80.785] Building CXX object plugins/CMakeFiles/autoslab.dir/autoslab.cpp.o
[build] [556/612 86% :: 109.008] Linking CXX shared module plugins/deramp.plug.so
[build] [557/612 86% :: 109.065] Linking CXX shared module plugins/dwarfvet.plug.so
[build] [558/612 87% :: 155.430] Building CXX object plugins/stonesense/CMakeFiles/stonesense.dir/main.cpp.o
[build] [559/612 87% :: 155.430] Building CXX object plugins/devel/CMakeFiles/kittens.dir/kittens.cpp.o
[build] [560/612 87% :: 155.431] Building CXX object plugins/devel/CMakeFiles/stockcheck.dir/stockcheck.cpp.o
[build] [561/612 87% :: 155.431] Building CXX object plugins/devel/CMakeFiles/stripcaged.dir/stripcaged.cpp.o
[build] [562/612 87% :: 155.432] Building CXX object plugins/autolabor/CMakeFiles/autolabor.dir/autolabor.cpp.o
[build] [563/612 87% :: 155.432] Building CXX object plugins/buildingplan/CMakeFiles/buildingplan.dir/buildingplan.cpp.o
[build] [564/612 88% :: 155.432] Building CXX object plugins/buildingplan/CMakeFiles/buildingplan.dir/buildingplan_cycle.cpp.o
[build] [565/612 88% :: 155.433] Building CXX object plugins/remotefortressreader/CMakeFiles/RemoteFortressReader.dir/remotefortressreader.cpp.o
[build] [566/612 88% :: 155.434] Building CXX object plugins/remotefortressreader/CMakeFiles/RemoteFortressReader.dir/building_reader.cpp.o
[build] [567/612 88% :: 155.434] Building CXX object plugins/remotefortressreader/CMakeFiles/RemoteFortressReader.dir/dwarf_control.cpp.o
[build] [568/612 88% :: 155.435] Building CXX object plugins/remotefortressreader/CMakeFiles/RemoteFortressReader.dir/item_reader.cpp.o
[build] [569/612 88% :: 155.435] Building CXX object plugins/remotefortressreader/CMakeFiles/RemoteFortressReader.dir/proto/RemoteFortressReader.pb.cc.o
[build] [570/612 89% :: 155.436] Building CXX object plugins/stockpiles/CMakeFiles/stockpiles.dir/OrganicMatLookup.cpp.o
[build] [571/612 89% :: 155.436] Building CXX object plugins/stockpiles/CMakeFiles/stockpiles.dir/StockpileSerializer.cpp.o
[build] [572/612 89% :: 155.437] Building CXX object plugins/stockpiles/CMakeFiles/stockpiles.dir/stockpiles.cpp.o
[build] [573/612 89% :: 155.437] Building CXX object plugins/stockpiles/CMakeFiles/stockpiles.dir/proto/stockpiles.pb.cc.o
[build] [574/612 89% :: 155.438] Building CXX object plugins/tweak/CMakeFiles/tweak.dir/tweak.cpp.o
[build] [575/612 89% :: 155.438] Linking CXX shared module plugins/edgescroll.plug.so
[build] [576/612 90% :: 155.439] Linking CXX shared module plugins/eventful.plug.so
[build] [577/612 90% :: 155.439] Linking CXX shared module plugins/export-map.plug.so
[build] [578/612 90% :: 155.440] Linking CXX shared module plugins/fastdwarf.plug.so
[build] [579/612 90% :: 155.440] Linking CXX shared module plugins/filltraffic.plug.so
[build] [580/612 90% :: 155.440] Linking CXX shared module plugins/fix-occupancy.plug.so
[build] [581/612 90% :: 155.441] Linking CXX shared module plugins/flows.plug.so
[build] [582/612 91% :: 155.443] Linking CXX shared module plugins/forceequip.plug.so
[build] [583/612 91% :: 155.616] Linking CXX shared module plugins/luasocket.plug.so
[build] [584/612 91% :: 155.680] Linking CXX shared module plugins/misery.plug.so
[build] [585/612 91% :: 155.684] Linking CXX shared module plugins/hotkeys.plug.so
[build] [586/612 91% :: 155.694] Linking CXX shared module plugins/showmood.plug.so
[build] [587/612 91% :: 155.698] Linking CXX shared module plugins/pathable.plug.so
[build] [588/612 91% :: 155.703] Linking CXX shared module plugins/nestboxes.plug.so
[build] [589/612 92% :: 155.709] Linking CXX shared module plugins/pet-uncapper.plug.so
[build] [590/612 92% :: 155.710] Linking CXX shared module plugins/seedwatch.plug.so
[build] [591/612 92% :: 155.711] Linking CXX shared module plugins/stocks.plug.so
[build] [592/612 92% :: 155.715] Linking CXX shared module plugins/preserve-rooms.plug.so
[build] [593/612 92% :: 155.726] Linking CXX shared module plugins/regrass.plug.so
[build] [594/612 92% :: 155.743] Linking CXX shared module plugins/reveal.plug.so
[build] [595/612 93% :: 155.747] Linking CXX shared module plugins/sort.plug.so
[build] [596/612 93% :: 155.763] Linking CXX shared module plugins/liquids.plug.so
[build] [597/612 93% :: 155.777] Linking CXX shared module plugins/plant.plug.so
[build] [598/612 93% :: 155.787] Linking CXX shared module plugins/spectate.plug.so
[build] [599/612 93% :: 155.790] Linking CXX shared module plugins/probe.plug.so
[build] [600/612 93% :: 155.798] Linking CXX shared module plugins/overlay.plug.so
[build] [601/612 94% :: 155.823] Linking CXX shared module plugins/orders.plug.so
[build] [602/612 94% :: 155.827] Linking CXX shared module plugins/preserve-tombs.plug.so
[build] [603/612 94% :: 155.835] Linking CXX shared module plugins/logistics.plug.so
[build] [604/612 94% :: 155.873] Linking CXX shared module plugins/lair.plug.so
[build] [605/612 94% :: 155.896] Linking CXX shared module plugins/getplants.plug.so
[build] [606/612 94% :: 155.904] Linking CXX shared module plugins/work-now.plug.so
[build] [607/612 95% :: 155.910] Linking CXX shared module plugins/prospector.plug.so
[build] [608/612 95% :: 155.917] Linking CXX shared module plugins/infinite-sky.plug.so
[build] [609/612 95% :: 155.926] Linking CXX shared module plugins/xlsxreader.plug.so
[build] [610/612 95% :: 155.930] Linking CXX shared module plugins/devel/counters.plug.so
[build] [611/612 95% :: 155.933] Linking CXX shared module plugins/strangemood.plug.so
[build] [612/612 95% :: 155.942] Linking CXX shared module plugins/tubefill.plug.so
[build] [612/612 96% :: 155.950] Linking CXX shared module plugins/devel/buildprobe.plug.so
[build] [612/612 96% :: 155.960] Linking CXX shared module plugins/suspendmanager.plug.so
[build] [612/612 96% :: 155.965] Linking CXX shared module plugins/devel/color-dfhack-text.plug.so
[build] [612/612 96% :: 155.967] Linking CXX shared module plugins/zone.plug.so
[build] [612/612 96% :: 155.968] Linking CXX shared module plugins/devel/vectors.plug.so
[build] [612/612 96% :: 155.995] Linking CXX shared module plugins/devel/memview.plug.so
[build] [612/612 97% :: 156.008] Linking CXX shared module plugins/timestream.plug.so
[build] [612/612 97% :: 156.014] Linking CXX shared module plugins/devel/dumpmats.plug.so
[build] [612/612 97% :: 156.017] Linking CXX shared module plugins/tiletypes.plug.so
[build] [612/612 97% :: 156.029] Linking CXX shared module plugins/devel/onceExample.plug.so
[build] [612/612 97% :: 156.048] Linking CXX shared module plugins/devel/stripcaged.plug.so
[build] [612/612 97% :: 156.053] Linking CXX shared module plugins/devel/frozen.plug.so
[build] [612/612 98% :: 156.068] Linking CXX shared module plugins/tailor.plug.so
[build] [612/612 98% :: 156.082] Linking CXX shared module plugins/devel/eventExample.plug.so
[build] [612/612 98% :: 156.096] Linking CXX shared module plugins/devel/stockcheck.plug.so
[build] [612/612 98% :: 156.096] Linking CXX shared module plugins/devel/check-structures-sanity/check-structures-sanity.plug.so
[build] [612/612 98% :: 156.098] Linking CXX shared module plugins/devel/kittens.plug.so
[build] [612/612 98% :: 156.104] Linking CXX shared module plugins/tweak/tweak.plug.so
[build] [612/612 99% :: 156.111] Linking CXX shared module plugins/devel/tilesieve.plug.so
[build] [612/612 99% :: 156.130] Linking CXX shared module plugins/devel/ref-index.plug.so
[build] [612/612 99% :: 156.145] Linking CXX shared module plugins/autolabor/autolabor.plug.so
[build] [612/612 99% :: 156.169] Linking CXX shared module plugins/buildingplan/buildingplan.plug.so
[build] [612/612 99% :: 156.188] Linking CXX shared module plugins/stockpiles/stockpiles.plug.so
[build] [612/612 99% :: 156.256] Linking CXX shared module plugins/remotefortressreader/RemoteFortressReader.plug.so
[build] [612/612 100% :: 156.586] Linking CXX shared module plugins/stonesense/stonesense.plug.so
[driver] Build completed: 00:03:06.208
[build] Build finished with exit code 0
[extension] [7110] cmake.cleanRebuild finished (returned 0)
```
### Additional Information
During the VS Code build, CPU utilization alternates between all 24 logical CPUs being fully utilized and almost complete idle periods. This does not happen when running the same build from a terminal.
Note the gap of about 7 seconds between steps 213 and 214 and the gap of about 48 seconds between steps 385 and 386 in the build output provided above.
During the idle periods, `htop` shows many compiler processes in the `Z` (zombie) state. These processes are children of Ninja and have already exited, but Ninja has apparently not yet reaped them.
I monitored Ninja's kernel wait channel with:
```bash
while true; do
sleep 1
cat /proc/$(pgrep -a ninja | cut -d ' ' -f 1)/wchan
echo
done
```
From a terminal, Ninja is almost exclusively in:
```text
poll_schedule_timeout.constprop.0
```
When the build is launched through CMake Tools, Ninja enters:
```text
sock_alloc_send_pskb
```
during the periods where the build stalls.
This appears to indicate that Ninja is blocking while sending output through the communication channel to its parent process (VS Code/CMake Tools). While blocked, it cannot reap completed compiler processes, resulting in the observed zombies and idle CPU periods. This is corroborated by the fact that passing `--quiet` down to Ninja brings down the build time by more than a minute.
Contributor guide
Research direction
The payload names no source file, test, or entry point. Reproduce a clean 612-step Ninja build with CMake Tools in VS Code and compare it with the terminal command, using the supplied diagnostics and debug log as the starting evidence. Done means the intermittent stalls are explained and the VS Code build no longer has the reported slowdown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, linux, typescript, vscode
- Domain
- build-system, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100