binaries compiled using VC8 not running on IA64

As VS 2005 is not supported on IA64 platform i had to use cross-compilation on 32bit machine.
i did vcvarsall.bat x86_ia64 for setting the build environment.

after building the application i tried running it on  IA64 machine but it is not running.
D:\samples>exercise.exe
The system cannot execute the specified program.

manifest info is embeded in the application and in its dependency dlls.

on checking C:\Windows\WinSXS folder the CRT dlls and manifest were missing.
so i copied the dlls and manifest files from my VC8 installation. dlls from C:\Program Files\Microsoft Visual Studio 8\VC\redist\ia64\Microsoft.VC80.CRT and manifest from C:\Program Files\Microsoft Visual Studio 8\VC\redist\ia64\Microsoft.VC80.CRT

but i am confused about the policy files.

has anyone encountered this issue before
how can this issue be solved

Thanks in advance.

Chanakya




Answer this question

binaries compiled using VC8 not running on IA64

  • Moutso

    now MFC based samples are not running. i checked with MS site it does say:
    Brief Description
    The Visual C++ 2005 Runtime Libraries beta redistributable package contains the runtime libraries for the C Runtime Library, C++ Standard Library, MFC, ATL, and OpenMP.

    but i see no folder for MFC in WinSxS dir.

    i tried searching for any other redist for MFC but not able to find one.
    what else i have to install to run MFC samples

    any help is appritiated.

    Thanks,
    Chanakya



  • burnettr

    ted, thanks for your reply.

    i had copied dlls manually into the WinSxS folder before trying the redist package for ia64. so i was confused what was installed by the redist package. so i removed all folders starting with ia64 and wow64 and then tried reinstalling using redist. now nothing is getting installed in the WinSxS folder and my application is also not running. what is the sissue

    also the redist package is beta 2

    please help.

    Chanakya



  • HelloHello

    If installing applocal (Microsoft's newly invented term for running their redistributed DLLs directly from your program folder instead of WinSxS), then you need to copy those DLLs into a subfolder of your application, e.g. if your app is at:

    D:\samples\exercise.exe

    then the DLLs and manifest should be in the folder:

    D:\samples\Microsoft.VC80.CRT

    When installing applocal you need not worry about policy files.  You only need to ensure that the CRT's external manifest version number matches what your application's internal manifest expects (namely 8.0.50608.0)

    Note: I have not tried this for Itanium processors and 64 bit OS, I'm only going by how it works on other platforms.

     

     


  • George Mathew

    Excellent, that solves your problem.  Yes, it will only install the release versions of the DLLs.   Now you're talking about a different problem.  There's no "debug" version of the redistributable.  You can do one of two things - Install Visual Studio on the machine, or you have to build one for yourself by using the IA64 merge modules (MSM files) that I mentioned (in \Program Files\Common Files\Merge Modules)


  • shewitt_au

    Unfortunately I can't provide help for beta components, only release (RTM) versions. Please try to get the final release of the Itanium toolset from MSDN downloads.

    But my guess would be that you need Windows installer 3.1 installed on the machine (as the redist relies on that)


  • Scott E

    For the RTM version the vcredist will install release MFC to

    c:\windows\winsxs\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2

    There are also merge modules for release and debug MFC in c:\program files\common files\merge modules

    Using the approprate merge module, debug MFC will end up here:

    c:\windows\winsxs\x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_c8452471

     


  • David Sedman

    Thanks ted for your reply.

    i dont want to put the dlls and manifest files in my local folder. is there another way out for this issue

    Chanakya



  • MikeFair

    Yes there is.  You cannot manually install files to WinSxS by copying them yourself, you have to use proper Windows Installer technology.  If you want to install to WinSxS, you need to use the Microsoft provided VC Redist for Itanium systems, I think it's named vcredist_ia64.exe, or create your own install by using the provided CRT merge module(s) (usually found at \program files\common files\merge modules on the machine that you installed Visual C++ 2005 tools for Itanium systems). 
  • Mohan Gupta

    ted,
    please correct if i am wrong.

    do you mean vcredist_ia64.exe will only install release versions of the system dlls

    i downloaded and install
    vcredist_ia64.exe as well as .NET Redistributable Framework for IA64.

    now release versions are runnuing but debug versions are failing.

    please help.

    Chanakya



  • binaries compiled using VC8 not running on IA64