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

Error while compilation

rbhatt19
Beginner
578 Views

Hello,

 

I am a student using LS-Dyna  object files and I get the error while compliling nmake.exe. I have already installed intel OneAPI Base tool kit and Intel HPC tool tik with fortran compiler 2021. I get this error

---------------------------------------------------------------------------------------------------------------------------------------------------------

H:\>cd object files 2

H: \object files 2>nmake

(Microsoft (R) Program Maintenance Utility Version 6.00.8168.0

Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

ifort -c-traceback -4Yportlib -fp:precise - assume: byterecl,buffered_io -QXSSE2 -W -WB -fpp -DPCWIN -DINTEL - DIA64 -DAMD64 -DWINX64 -DNET_SECURITY -DXEON64 -DLSTCODE -DLONGFORMAT -DOPENMP -Qopenmp -DAUTODOUBLE -4R8 -418 couple2ot her_user.F

 

'ifort' is not recognized as an internal or external command, operable program or batch file. .NMAKE : fatal error U1077: 'ifort' : return code 'ox1' Stop.

-------------------------------------------------------------------------------------------------------------------------------------------------------

 

Please let me know how to solve this error. Thank you in advance

0 Kudos
14 Replies
Arjen_Markus
Honored Contributor I
570 Views

Have you set up the Intel Fortran environment? The start menu ought to contain an entry for starting a command window with the environment set up for Intel oneAPI.

andrew_4619
Honored Contributor II
564 Views

As Arjen says pick the 32 or 64 bit CMD prompt from the start menu 

andrew_4619_0-1641297735410.png

 

rbhatt19
Beginner
558 Views

yes I am doing exactly that, I am not sure about setting up  Intel Fortran environment. I open the Intel oneAPI commpand prompt show by you. 

 

It shows me that intel fortran compiler 2021 is installed and visual studio is also detected by the compiler.

 

But when I try to type "nmake" it shows me error  

Arjen_Markus
Honored Contributor I
551 Views

Can it be that the makefile you are running redefines the environment? What happens if you run a very simple one, like:

hello.exe: hello.f90
    ifort hello.f90

or something to that effect. Maybe even simply print the environment (use the "set" command) instead of an invocation of the compiler

andrew_4619
Honored Contributor II
545 Views

open the cmd prompt and type ifort, if that works it is a script problem like Arjen suggests. You could also try cut / paste of the ifort command that is in your script.....

 

 

andrew_4619
Honored Contributor II
541 Views
C:\tmp>ifort -c -traceback -4Yportlib -fp:precise -assume:byterecl,buffered_io -QXSSE2 -W -WB -fpp -DPCWIN -DINTEL - DIA64 -DAMD64 -DWINX64 -DNET_SECURITY -DXEON64 -DLSTCODE -DLONGFORMAT -DOPENMP -Qopenmp -DAUTODOUBLE -4R8 -418 couple2ot her_user.F
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.4.0 Build 20210910_000000
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

ifort: command line warning #10006: ignoring unknown option '/QXSSE2'
ifort: command line error: option '/W' is ambiguous

there were some other errors due to spaces being or no spaces but maybe on linux there space is not needed or ignored (I am on windows)

 

andrew_4619
Honored Contributor II
534 Views

If I replace -W with -W0 it gives:

ifort: command line warning #10006: ignoring unknown option '/QXSSE2'
fpp: fatal: can't fopen file: her_user.F

Which you would expect because I don't have the source file.

mecej4
Black Belt
530 Views

To RBhatt19:

There is something amiss with respect to the version and date of the Nmake utility. What you showed:

 

(Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

 

is for a very old (harking back to the Compaq/Digital Fortran days?) version. Do you happen to have CVF installed on your PC?

The  corresponding lines for the VS2019 that I have are:

 

Microsoft (R) Program Maintenance Utility Version 14.28.29334.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 

I suspect that your environment is misconfigured in some way. 

For starters, before attempting to run LSDyna, Abaqus or any such software package, verify that you can build and run tiny "Hello World!" programs in C and Fortran. Only when you succeed in doing so should you attempt to use Intel Fortran with the FEA or other analysis package.

rbhatt19
Beginner
503 Views

Hello I reinstalled the latest version. Now the form of error has changed

 

H:\object_2files>ifort nmake
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.4.0 Build 20210910_000000
Copyright (C) 1985-2021 Intel Corporation. All rights reserved.

ifort: command line warning #10161: unrecognized source type 'nmake'; object file assumed
ipo: error #11018: Cannot open nmake
Microsoft (R) Incremental Linker Version 14.16.27045.0
Copyright (C) Microsoft Corporation. All rights reserved.

-out:nmake.exe
-subsystem:console
nmake
LINK : fatal error LNK1104: cannot open file 'nmake.exe'

rbhatt19
Beginner
500 Views

The previous error I got when I changed the extension of Fortran files from .f to .f90 (I suppose for the latest version of compiler it was better to use fortran 90 files rather than old fortran77)

 

This error I get if I do not change anything in the object file ( fortran files with .f extension)

H:\object files 2>nmake

Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

ifort -c -traceback -4Yportlib -fp:precise -assume:byterecl,buffered_io -QxSSE2 -w -WB -fpp -DPCWIN -DINTEL -DIA64 -DAMD64 -DWINX64 -DNET_SECURITY -DXEON64 -DLSTCODE -DLONGFORMAT -DOPENMP -Qopenmp -DAUTODOUBLE -4R8 -4I8 dyn21cnt.F
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.4.0 Build 20210910_000000
Copyright (C) 1985-2021 Intel Corporation. All rights reserved.

error: can't open file dyn21cnt.obj for write
compilation aborted for dyn21cnt.F (code 1)
NMAKE : fatal error U1077: 'ifort' : return code '0x1'
Stop.

  

Arjen_Markus
Honored Contributor I
476 Views

You are trying to compile a source file called "nmake" with this command. While you are free to name your source files as you want, this is probably not what you intended ;).

Fortran source files have an extension .f or .f90 usually (there is some variation) but it is the contents or rather the form that counts: the old fixed form is usually associated with the extension .f and the newer free form is associated with .f90 (you can tell the compiler however that a source file is one or the other form independent of the extension via an option). Merely renaming a file from xxx.f to xxx.f90 does not change the contents and is in most cases not enough to make the compiler treat it as a correct free-form source file.

Consult any textbook on Fortran (instead of FORTRAN) for the differences.

mecej4
Black Belt
526 Views

Andrew_4619 posted:

ifort: command line warning #10006: ignoring unknown option '/QXSSE2'

     The 'x' in the option string /QxSSE2 should be lower case.

jimdempseyatthecove
Black Belt
484 Views

>>error: can't open file dyn21cnt.obj for write

This implies the output folder is write protected (or that there is an older version of this file that is write protected).

Also, I think that SSE4 is the lowest instruction set supported. I suggest you remove the -QxSSE2 option (default is SSE4).

Jim Dempsey

Steve_Lionel
Black Belt Retired Employee
450 Views

I'll also comment that nmake, the tool, is part of Microsoft Visual Studio and not the Intel product. One normally does not combine nmake with a build from within Visual Studio, but rather it is used from a command prompt.

Reply