0 Replies Latest reply on Nov 16, 2010 7:06 AM by nemsuser

    X86 vs X64

      I am implementing NEMS ( the National Energy Modeling System developed by the US Energy Information Administration) on a Dell T5500 workstation, running Windows XP (professional),  the FORTAN 11.0 Compiler  and Visual Studio 10.  NEMS is a complicated model developed over a period of many years.  The principal component of NEMS is an Optimization Modeling Library (OML) that was developed by the Ketron Corp. 10 years ago.  The EIA provides pre-compiled versions of the OML that operate in conjunction with a software license key.  I have no problem compiling any of the FORTRAN files that comprise the NEMS "Model" but I do have a problem linking to the OML Libraries.  After some experimentation, the problem has settled down to a "machine" question. 
      -- If I compile the NEMS code with my resident compiler, then I get an error opening the OML Library files to the effect that the Module machine type X86 conflicts with target machine type X64
      -- If I use the "machine option" in the linker (/machine:x86) then the reverse is true -- I cannot open the FORTRAN object files and get a reverse error (Module Machine type X64 conflicts with target machine type X86)
      As far as I have been able to determine,  my machine type is always going to be X64.  I cannot seem to find a way to make it emulate an X86 machine.  I have written to the OML vendor to seek out an X64 version of the libraries.  In the meantime:
      1. Is there a way to mix machine types in the linker? (i.e. the x64 FORTRAN files and the X86 OML libraries)
      2. Is there a way for my compiler to emulate an X86 machine? (i.e. produce FORTRAN Object files with X86 module machine type)
      NEMS programming and running is always done at the command prompt, not inside visual studio, so I would appreciate Command Line suggestions