xilink: error #10014: problem during multi-file optimization compilation (code 1)

xilink: error #10014: problem during multi-file optimization compilation (code 1)

Sunil Gokak's picture

When I am building  a release evrsion of a dll using Intel C++ Compiler 2013 Update 1, I see the following error:

The command:
xilink.exe @objects\Vision\win32U\i386\icc13\release\responseFile-4BtDUmWz

Returned a non-zero status of 1

And produced this output:

Fatal compilation error: Out of memory asking for 2097160.
xilink: error #10014: problem during multi-file optimization compilation (code 1)
xilink: error #10014: problem during multi-file optimization compilation (code 1)


I looked into the various forums and found that disabling IPO is one of the solutions. One thing to be noted is that I have not passed in IPO flag to the compiler. 

There are couple of questions:

1. Is IPO by default  enabled by intel even if we do not pass the flag explicitly?

2. Is IPO is the reason for this linker error, how do I explicitly disable IPO flag from being passed?

One of the important things to be noted here is that this failure is not seen while building debug version of the dll. Also I remember compilation succeeding for release evrsion in the older build of Intel 2013 ( prior to update 1). 

Any help would be much appreciated.


3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tim Prince's picture

As I understand it, recent Intel Windows compilers have ipo enabled by default for release mode; you must turn it off explicitly (/Qipo- or project property) if you don't want it.  Even then, xilink will look by default for ipo objects, but that shouldn't produce an out of memory.  I suppose big compile jobs are tested more thoroughly in Intel64 mode, while you may be in ia32 mode.

Jennifer J. (Intel)'s picture

TimP is right. the "/Qipo" is on by default in the "Release" config. You can turn it off or use /Qip. To turn it off under linker, use "/qipo-" (small q).

But you do want to use /Qipo, or the project built ok before, please submit a ticket to the Premier Support (https://premier.intel.com/). We will need a testcase for it though. It may not be a bug.

Jennifer

Login to leave a comment.