Ticket #510 (closed defect: fixed)
libpng fails to load
| Reported by: | Philip | Owned by: | |
|---|---|---|---|
| Priority: | Should Have | Milestone: | Pre-Alpha 3 |
| Component: | Core engine | Keywords: | |
| Cc: | jan |
Description
jd823592 on IRC reports problems, having compiled the game in Debug mode on MSVS2008 9.0.30729.1 SP on WinXP SP2 (and having run update-workspaces and 'clean'):
'pyrogenesis_dbg.exe': Loaded 'C:\0ad\binaries\system\libpng14d.dll' LDR: LdrpWalkImportDescriptor() failed to probe c:\0ad\binaries\system\libpng14d.dll for its manifest, ntstatus 0xc0150002 'pyrogenesis_dbg.exe': Unloaded 'C:\0ad\binaries\system\libpng14d.dll' First-chance exception at 0x7c812a6b in pyrogenesis_dbg.exe: 0xC06D007E: Module not found. Unhandled exception at 0x7c812a6b in pyrogenesis_dbg.exe: 0xC06D007E: Module not found.
failing in tex_png.cpp:209 (a call to a libpng function).
Change History
comment:2 Changed 3 years ago by jan
I compiled libpng with VS2005 SP1+updates, while our SVN binaries/system has Microsoft.VC80.CRT.manifest from the SP1 version. Thus, it works on machines with the 'latest' patches installed and breaks otherwise, as in this case (since VS2008 includes an older version *sigh*).
The newest manifest and DLLs are now committed, which should fix this problem, but as the above commit message notes, anyone using VC2005 will now have to ensure they are patched as well (otherwise, their compiler will insert a manifest dependency on the old .762 version in addition to the .4053 demanded by our pre-built DLL).

(In [7641]) update VC2005 CRT fixes #510 unfortunately, anyone compiling with VC2005 must now ensure all Visual Studio service packs and patches are applied - or manually strip out the additional manifest dependency on subversion 762 after every build (ugh), or we could add an application config file to redirect SxS version from .762 to .4053 (ugh)