greptimedb
greptimedb copied to clipboard
Statically link to vcruntime
What problem does the new feature solve?
For some reasons the vcruntime140.dll
or releated library files are missing on some Windows machines. When running GreptimeDB on these machines, the program crashes because it cannot find vcruntime140.dll
.
The error prompt would be: "The code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem."
But just as all the other futile Microsoft error messages, reinstallation does not help.
What does the feature do?
Statically links greptime
binary to vcruntime libraries to avoid such crash.
There're two approaches:
- Add
crt-static
feature when building with MSVC toolchain, only need to change.cargo/config.toml
, but it links the whole crt - Use static_vcruntime, this only links to vcruntime, but requires a build script.
Implementation challenges
No response
It seems the Visual C++ library is corrupted. Can you reinstall it? See also: https://answers.microsoft.com/en-us/windows/forum/all/vcruntime140dll-was-not-found/f43d5afd-9239-4913-8f32-20e44a959e13
It seems the Visual C++ library is corrupted. Can you reinstall it? See also: https://answers.microsoft.com/en-us/windows/forum/all/vcruntime140dll-was-not-found/f43d5afd-9239-4913-8f32-20e44a959e13
Sorry, I just read
But just as all the other futile Microsoft error messages, reinstallation does not help.
To check, did you reboot the PC? 🥹
It seems the Visual C++ library is corrupted. Can you reinstall it? See also: https://answers.microsoft.com/en-us/windows/forum/all/vcruntime140dll-was-not-found/f43d5afd-9239-4913-8f32-20e44a959e13
Sorry, I just read
But just as all the other futile Microsoft error messages, reinstallation does not help.
To check, did you reboot the PC? 🥹
Reinstalling vc_redis.exe
should fix this. But this prompt can easily mislead people into reinstalling greptime binary instead of vc_redis.exe
. Also for those machines running Windows, most of them are not connected to Internet.