Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
4 Views

LIBCMT.lib(_fpint_.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'IA64'

Hello All,

I have been compiling FOTRAN code with with a 32-bit compiler successfully for a finite element software called LS-DYNA for years, but because of some problems with large models I have decided to switch to a 64-bit version of LS-DYNA. I am now running into a compile error.

My machine is: Processor: Intel i7-6700HQ. OS: Windows 10 64-bit, x64-based processor.

I am using the following:

  • compiler: Intel Visual Fortran for IA-32 and Intel 64. 10.1.034 (after reading this thread https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/517441 )
  • MS VS 2008 Professional Edition. I made sure to also have Microsoft Visual C++ 2008 x64 cross tools which are required by LS-DYNA for a 64-bit compiler.

When I launch the compile job using the 'nmake' command on the Intel Visual Fortran Compiler prompt window I obtain the following error:

LIBCMT.lib(_fpinit_.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'IA64'

NMAKE : fatal error U1077 : 'ifort' : return code '0x458'

Why would the target machine be of type IA64? If that is really the issue, how would I change it?

Thank you in advance. Any help is greatly appreciated.

-Francesco

0 Kudos
10 Replies
Highlighted
4 Views

My guess is that you have the

My guess is that you have the wrong Visual Studio build tools installed, having selected IA-64 (Itanium) instead of x64.  Show us the output when the command environment is first started.

Retired 12/31/2016
0 Kudos
Highlighted
Black Belt
4 Views

Since it is extremely

Since it is extremely unlikely that your platform contains an Itanium CPU, which is the one that "ia64" pertains to, you need to examine your make-file (including any included files and environment variables, if applicable) to see where "ia64" crept in.

It is also possible that you have actually installed an Itanium distribution of Intel Fortran, since you refer to the old VS2008. If so, you need to uninstall that package and install an "intel64" package.

Providing more details and attaching the build-log would help locate where the problem was first noticeable.

0 Kudos
Highlighted
Beginner
4 Views

Thank you both for the prompt

Thank you both for the prompt response.

I am showing the output when the command environment is first started and the makefile. Please refer to the PDF attached to this post. The compiler goes through all of the libraries listed in the makefile and eventually encountes a problem with one which is not listed: LIBCMT.lib. This library resides within the MS VS folders.

I have checked the supported architectures for the Visual Studio version I have downloaded and it lists: x86 and x64. Also, when I installed it I didn't recall choosing the type anywhere, but during the installation it shows that it is installing for x64.

Thank you for your help.

 

0 Kudos
Highlighted
Black Belt
4 Views

In the FLAGS variable in the

In the FLAGS variable in the makefile you have -DIA64. Depending on what lines in the source codes are activated by that macro definition, it could be the cause of the problem. Is there a reason for specifying -DIA64 on an X64 system? What does the LS-DYNA documentation have to say on this question?

0 Kudos
Highlighted
Black Belt
4 Views

Quote:mecej4 wrote:

mecej4 wrote:

In the FLAGS variable in the makefile you have -DIA64. Depending on what lines in the source codes are activated by that macro definition, it could be the cause of the problem. Is there a reason for specifying -DIA64 on an X64 system? What does the LS-DYNA documentation have to say on this question?

This raises the suspicion that you may have downloaded LS-DYNA components for ifort 11 IA64.  You need the ones for ifort Intel64/AMD64.

By the way, Microsoft withdrew IA64 support 6 years ago:

https://www.cnet.com/news/microsoft-ending-itanium-support/

0 Kudos
Highlighted
Beginner
4 Views

I have made sure that the LS

I have made sure that the LS-DYNA library I have downloaded is for Intel 64 format. Specifically I am using the following: ls-dyna_smp_d_R711_winx64_ifort131_lib. I have also tried to the previous version: ls-dyna_smp_d_R700_winx64_ifort101_lib.

The 'Makefile' is provided by LSTC and includes the flag -DIA64. I am not sure what is the reason for this flag. I have tried to remove it but I still get the same error message: conflict of type between module machine (x64) and target machine (IA64).

I have reinstalled MS VS, MS Visual C++ x64 cross tools, and the Fortran compiler making sure that compiler is installed last as specified in the installation guide (http://www.lstc.com/download/ls-dyna_%28win%29#pcusrmat)

I have consulted the LS-DYNA documentation but it is quick and does not have information regarding my problem.

Thank you for the help so far, if you can think of anything else, please let me know.

0 Kudos
Highlighted
Employee
4 Views

Hi, Francesco

Hi, Francesco

After you remove the flag -DIA64, you need to re-make all souce files before linking. That make sures not IA64 target object files are generated during compilation. Have you tried clean your build and remake them?

Thanks.

0 Kudos
Highlighted
Beginner
4 Views

All,

All,

I was able to solve my problem by formatting my computer and reinstalling the same software. I hope this can be helpful to future readers if they run into my same error. Also, make sure to use the correct Fortran compiler and MS Visual C++ versions. The LSTC website is incorrect, but the readme files are correct.

However, thanks for the Intel developers for the prompt support.

0 Kudos
Highlighted
Employee
4 Views

Thank you for posting about

Thank you for posting about the resolution.

0 Kudos
Highlighted
Beginner
4 Views

Quote:Francesco D. wrote:

Francesco D. wrote:

All,

I was able to solve my problem by formatting my computer and reinstalling the same software. I hope this can be helpful to future readers if they run into my same error. Also, make sure to use the correct Fortran compiler and MS Visual C++ versions. The LSTC website is incorrect, but the readme files are correct.

However, thanks for the Intel developers for the prompt support.

Hi Francesco, can you please tell me the correct Fortran complier and Visual C++? I installed vs 2008 and fortran 11.1, but the error showed 'can not open libguide.lib' file. can you please give me a guidance via email s3640129@student.rmit.edu.au? One more thing, I wonder if is convenient for your tell the which is the correct website.

Really appreciate all your kind help.

0 Kudos