Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

error LNK1112

Alan_Jappy
Beginner
1,146 Views
I'm trying to use Intel visual FORTRAN compiler with abaqus to run a user subroutine.

I'm submitting the job using the abaqus command line. I receive the error:

creep.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
Error: Problem during linking - Abaqus/Standard User Subroutines.

I tried calling vcvarsx86_amd64.bat to set the environment for x86 machine type but it did not help.

Any thoughts on how to configure the compiler for x86 machine type from a command line?

Many Thanks
Alan
0 Kudos
3 Replies
TimP
Honored Contributor III
1,146 Views
ifort ia32 (x86 32-bit) installation would automatically set up both the command prompt shortcut and Visual Studio to call the appropriate vcvars32.bat.
Presumably, the Abaqus instructions tell you how to set up the compiler consistent with the 32- or 64-bit version you have chosen.
0 Kudos
arnaud_uk
Beginner
1,146 Views
Hi,

The Abaqus instructions are rather sketchy and only gives info on what version of compiler should be used.

On the contrary to Alan I get a "fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'"

I have a 64 bit machine and have installed:

- microsoft visual studio 2005 (full installation, so with the 64bit part)
- microsoft Microsoft Visual C++ 2005 Redistributable 64bit
- intel fortran compiler (both IA32 and emt64)
- abaqus 6.9-1 64bit

I've updated my enviromnent variables as I used to do on my 32bit machine (although it was successfull then).
Being new to 64bit, I'm rather confused about the X86 and non X86 bit of the process (my visual studio and intel compiler are installed as X86 but my abaqus seems to be a true 64bit application?), as well as which vcvars I'm supposed to click (vcvars32.bat, vcvarsx86_amd64.bat or vcvarsamd64.bat)

Any help is very welcome!

Arnaud

PS: It's really turning into a mission to get Abaqus + subroutines to work (definitively much more work than actually coding the subroutine :( )
0 Kudos
TimP
Honored Contributor III
1,146 Views
Microsoft says X86 for 32-bit and X64 for 64-bit. You must make everything (the Abaqus build and your choice of compiler) match. The ifort setup will choose the corresponding vcvars. For example, the shortcut for opening ifort 11.1 64-bit command prompt is labeled Fortran Build Environment for applications running on Intel 64. As you have abaqus 64-bit, any intrusion of an X86 component will break your efforts.
0 Kudos
Reply