[CMake] Manifest issues and CMakeVerifyManifest
Olivier Pierard
olivier.pierard at cenaero.be
Tue Feb 8 09:01:54 EST 2011
Dear all,
When developing on Windows, I think everything works fine and it be
definitely packaged when ...BOUM... someone reports a configuration
which fails to start the program !
So, some questions:
1°) I started to try the CMakeVerifyManifest which detects effectively
some errors. Manifest file contains references to Microsoft.VC90.CRT
and Microsoft.VC80.CRT. Is this really non-compatible ? If answer is
no, how could I detect which library (.lib, no dll) is using VC80 ? I'm
using VisualStudio 2008 SP1, Windows Vista SP1, cmake/cpack 2.8.0,
generate 64-bits executable and soft fails to run on Windows XP 64 bits
SP2 with Visual Studio 2008 SP1 packages installed for x86 ad x64.
2°) I then decided to try it on another executable which seems to be
always working and an error is also reported ! But I don't really
understand it as everything seems to be OK for me. I'm wondering if the
script distinguishes well the VC90.CRT and VC90.OpenMP ?
Thanks for your help
Olivier
Log of CMakeVerifyManifest in case 2:
Versions found in E:/64/src/GUI/bin/Release/morfeogui.exe.manifest:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.21022.8' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.OpenMP'
version='9.0.21022.8' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
ERROR: E:/64/src/GUI/bin/Release/morfeogui.exe uses 9.0.21022.8 not
found in shipped manifests:[<?xml version='1.0' encoding='UTF-8'
standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.21022.8' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.OpenMP'
version='9.0.21022.8' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
].
CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CMakeVerifyManifest.cmake:113 (message):
This distribution embeds dll versions that it does not ship, and may not
work on other machines.
More information about the CMake
mailing list