compilation error with both /MP and /fpp

compilation error with both /MP and /fpp

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 Build 20121008

integrated to VS2010

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




6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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 -


/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




Downloadtext/plain build_log.txt3.94 KB
Best Reply

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? 



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 (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.

Good to hear, thanks for the update!


Leave a Comment

Please sign in to add a comment. Not a member? Join today