On 2/8/2011 9:01 AM, Olivier Pierard wrote:
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.

You should be able to run grep or some other tool on your dlls and find the ones that have the reference.

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 ?
Looks like it can not find the OpenMP manifest file.

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.


This blog I wrote might help you:

http://kitware.com/blog/home/post/4

From the error message it looks like you are not shipping the manifest for Microsoft.VC90.OpenMP. I don't think that is something that CMake knows how to install.

-Bill


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to