[Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Have some feedback for Life is Feudal? Post it here!
User avatar
Cattoaster
 
Posts: 110
Joined: 03 Nov 2014, 16:13
Location: Medieval Germany

[Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Post by Cattoaster » 27 Apr 2016, 15:45

Hej there,

newest beta patch was downloaded and the server was going to restart. Well, it failed to start.

The cause is a missing c++ runtime DLL (MSVCP140.DLL) which is included in Visual C++ Redistributable for Visual Studio 2015.

However, why isn't this (or any other required runtime dll) static linked? A compiler can directly linked the runtime into the executable file (LiF:YO server exe). The executable will be significally bigger, but it will run without any need of runtime dlls.

User avatar
Custodian
Mod Developer
 
Posts: 655
Joined: 08 Jun 2015, 14:58
Location: Lisbon

Re: [Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Post by Custodian » 27 Apr 2016, 15:57

Cattoaster wrote:The cause is a missing c++ runtime DLL (MSVCP140.DLL) which is included in Visual C++ Redistributable for Visual Studio 2015.

Redistributable packages can be found at _CommonRedist\vcredist\2015 folder of both client and server steam installation.
Dependencies should be handled by steam. May be something is wrong with the precondition rules/checking.

Cattoaster wrote:However, why isn't this (or any other required runtime dll) static linked?

Static link of runtime can cause different issues, like heap management, if application is linked against other libs with dynamic runtime and they share memory management.

User avatar
Cattoaster
 
Posts: 110
Joined: 03 Nov 2014, 16:13
Location: Medieval Germany

Re: [Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Post by Cattoaster » 27 Apr 2016, 16:12

Thanks for your reply Custodian.

Double checked the server directory, but there is no '_CommonRedist' directory. It's missing or was never downloaded/created. We are using SteamCMD to update our LiF server as a post-start running script. Could be one of the reasons that the files are missing

I'm currently downloading the missing redistributable .. but have to wait for a server admin with administrative privileges to install.

edit:
Static link of runtime can cause different issues, like heap management, if application is linked against other libs with dynamic runtime and they share memory management.


I quite understand your objection, but I would suggest a small reference in patch notes if a patch leads to new dependencies


Cokll
 
Posts: 2
Joined: 10 Apr 2016, 09:02

Re: [Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Post by Cokll » 29 Apr 2016, 11:36

Could not start api-ms-win-crt-runtime-l1-1-0.dll lose
OS:Windosw 2008 R2

User avatar
Airco
 
Posts: 698
Joined: 02 Apr 2015, 12:41

Re: [Beta Patch 1.1.1.8] Required C++ Runtime DLL and missing static linking

Post by Airco » 29 Apr 2016, 11:42

drop the beta , official patch is out :)
os: Win10N
Motherboard: Asus Sabertooth Z97 Mark2
Cpu: intel I5-4690 3.5Ghz
Cpu cooler: thermaltake Frio Extreme Silent 14 Dual
Mem: Corsair 16gb, Cmy16gx3m2a2133c11r
Gpu: Geforce 970, Asus STRIX GTX970 DC2OC 4GD5
Soundcard: Creative Soundblaster Z
HD: SAMSUNG 75E250RW SSD 850 EVO 250 GB

Return to Feedback Section