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

compilation error with both /MP and /fpp

Peter_P_
Beginner
950 Views

Dear all,

We have a project with multiple Fortran sources (~100) where few of them are also preprocessed (.F). We tried to switch on parallel compilation of source files (/MP), but on some machines the compilation fails (repeatable) with the error message (which appears after output of the preprocessed source files in the log file)

ifort: command line error: multiple sources; asm output option must specify dir

Relevant compile command:

/nologo /MP /O2 /I"some_include_folders" /D"some_defines" ... /libs:static /threads /c /Qvec-report0 /names:lowercase /assume:underscore /iface:nomixed_str_len_arg /fp:source /extend_source:132 /fp:source /Qip /O2 /MD /fpe:3 ...

Intel Fortran version:

Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.0.1.119 Build 20121008

integrated to VS2010

How can we detect the source of the error? Why it is triggered only on some machines? 

Thanks,

Peter

 

0 Kudos
1 Solution
Lorri_M_Intel
Employee
950 Views

Thank you so much for the log -- I see the problem, I'm just not sure what caused it.

Look at the command line that immediately precedes the error message ... you'll see the command line switch  /Fa"db"

That command line switch says "Name my assembly file db.asm" and you can't have that if there are multiple source files.

Did you set that switch on purpose, and do you need to create assembly output? 

 

 

View solution in original post

0 Kudos
5 Replies
Lorri_M_Intel
Employee
950 Views

The compiler driver appears to believe that you are trying to create assembly-language output rather than straight object files.

Also, I don't see the /fpp command line switch in this command line.

Is there a chance you could attach the build log?

       thanks -

                      --Lorri

0 Kudos
Peter_P_
Beginner
950 Views

/fpp is switched on selectively only for those preprocessed files, e.g. for file xy1.F, the compiler command line is:

 /nologo /MP /O2 /fpp /I"some includes" /D"some defines" ... /libs:static /threads /c ....some warnings flags.... /Qvec-report0 /names:lowercase /assume:underscore /iface:nomixed_str_len_arg /fp:source /extend_source:132 /fp:source /Qip /O2 /MD /fpe:3 /QaxAVX,SSSE3,SSE3,SSE2 

Relevant parts of build log attached

 

 

0 Kudos
Lorri_M_Intel
Employee
951 Views

Thank you so much for the log -- I see the problem, I'm just not sure what caused it.

Look at the command line that immediately precedes the error message ... you'll see the command line switch  /Fa"db"

That command line switch says "Name my assembly file db.asm" and you can't have that if there are multiple source files.

Did you set that switch on purpose, and do you need to create assembly output? 

 

 

0 Kudos
Peter_P_
Beginner
950 Views

Thank you for reply. It has helped to found the cause of this error:

We are using CMAKE for generation of VS2010 projects and it automatically appends AssemblerListingLocation(/Fa) to vfprojs. Unfortunately there was the CMAKE bug #0014171 http://public.kitware.com/Bug/view.php?id=14171 (fixed in CMAKE 2.8.11) that caused that the generated project contained /Fa"db" instead of /Fa"db/"

Upgrade to CMAKE 2.8.11+ solved the error.

0 Kudos
Lorri_M_Intel
Employee
950 Views

Good to hear, thanks for the update!

 

0 Kudos
Reply