greptimedb icon indicating copy to clipboard operation
greptimedb copied to clipboard

Statically link to vcruntime

Open v0y4g3r opened this issue 10 months ago • 3 comments

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." image

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

v0y4g3r avatar Apr 02 '24 03:04 v0y4g3r

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

WenyXu avatar Apr 02 '24 03:04 WenyXu

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? 🥹

WenyXu avatar Apr 02 '24 03:04 WenyXu

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.

v0y4g3r avatar Apr 02 '24 03:04 v0y4g3r