Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

xilink: backend signals

chhenning_1977
Beginner
783 Views
Hi there, the Intel C++ compiler can finally compile the sources but now the linker seems to have issues. Here is the output:
1> Microsoft Windows Resource Compiler Version 6.1.7600.16385
1>
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>
1>XILINK : internal error : backend signals
1>
1>xilink : error #10014: problem during multi-file optimization compilation (code 4)
1>xilink : error #10014: problem during multi-file optimization compilation (code 4)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
1> Microsoft Windows Resource Compiler Version 6.1.7600.163851> 1> Copyright (C) Microsoft Corporation. All rights reserved.1> 1> 1>XILINK : internal error : backend signals1> 1>xilink : error #10014: problem during multi-file optimization compilation (code 4)1>xilink : error #10014: problem during multi-file optimization compilation (code 4)========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
I'm using Intel c++ compiler 12.0 with Visual Studio 2010.
What can I do?
Christian
0 Kudos
13 Replies
TimP
Honored Contributor III
783 Views

If this failure comes up as the first indication of error in a clean rebuild, it looks like a bug. I can think only of submitting a problem report with the test case (at least the files required to link), or cutting back on IPO if you have that option set in all or part of your project. There's advice on applying IPO to large projects in the documentation in the compiler installation. You may find that IPO isn't contributing much.

Neither IPO or the MSVC equivalent (/GL) can be used in a project which combines objects which you build by both Intel and Microsoft compilers.

0 Kudos
chhenning_1977
Beginner
783 Views

Hi Tim, I have tried a couple of things and but no luck. All my tries are complete rebuilds.

1. turned off all optimizations

2. like 1. and compiler symbols like _SECURE_SCL=0 and _HAS_ITERATOR_DEBUGGING=0

3. like 1. and 2. and explicitly turning off Whole Program Optimization

I'm not sure if I can create a test case which would recreate this problem. The project I'm compiling is fairly big and proprietary code. Is there maybe a log file or core dump that I could send in?

Also, where can I retrieve the actual command line that invokes xilink?

Thanks,

Christian

0 Kudos
JenniferJ
Moderator
783 Views
could you post the full link cmd and compile-options? maybe we can try to isolate to the component that is causing the issue.

if prefered, try the "Private" post.

thanks,
Jennifer
0 Kudos
chhenning_1977
Beginner
783 Views
Hi there, taken from the log files I found in the release folder the link command line is like this:
Link:
C:\Program Files (x86)\Intel\ComposerXE-2011\bin\Intel64\xilink.exe /OUT:"x64\Release\XXX_x64.dll" /INCREMENTAL:NO /NOLOGO YYY_x64.lib version.lib ZZZ_x64.lib Rpcrt4.lib AAA_x64.lib /MANIFEST /ManifestFile:"x64\Release\XXX_x64.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\work\Source\BBB\XXX\Src\x64\Release\XXX_x64.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"x64\Release\XXX_x64.lib" /MACHINE:X64 /PROFILE /DLL x64\Release\XXX.res
x64\Release\DDD.obj
...
[about 40+ files]
1>XILINK : internal error : backend signals
1>xilink : error #10014: problem during multi-file optimization compilation (code 4)
1>xilink : error #10014: problem during multi-file optimization compilation (code 4)
1>Done Building Project "C:\work\Source\BBB\XXX\Src\XXX.vcxproj" (rebuild target(s)) -- FAILED.
Any ideas?
Thanks,
Christian
0 Kudos
chhenning_1977
Beginner
783 Views
I was tinkering a bit with the link command line and even with the shortest command line I can come up the error doesn't disappear:
xilink.exe /OUT:"x64\Release\XXX_x64.dll" /SUBSYSTEM:WINDOWS /IMPLIB:"x64\Release\XXX_x64.lib" /MACHINE:X64 /DLL x64\Release\BBB.obj
Christian
0 Kudos
JenniferJ
Moderator
783 Views
Even with just one .cpp file??

does it happen in "debugn|x64" config?

Jennifer
0 Kudos
Om_S_Intel
Employee
783 Views
The linker is calling the compiler for IPO optimization on mutiple files. This looks like a comiler issue.

You may use -ipo- on linux and /Qipo- on witndows to disable IPO.

You may use -ipo-seperate or /Qipo-seperate to generate seperate file for each source file. If the compiler failes during the compilation you would know the source file taht has this issue.

You may createone directori with objects without this issue (use -Od or -O0) and another directory with object that produces the error. You can now mix and match in third directory by copying some files from one and rest from others to locate the object that creates the issue. You may use the binary search for this. If the object that creates the issue is not an hot spot then you may compile this with /Qipo- option to resolve the issue.

If you could share the testcase, we can help narrow dow the issue.
0 Kudos
chhenning_1977
Beginner
783 Views
Hi there, how can I disable Qipo in Visual Studio 2010?
Thanks,
Christian
0 Kudos
Om_S_Intel
Employee
783 Views
InVS2010 toolbarselect Project -> Properties -> C/C++ -> Command Line ->Additional Options and type /Qipo- and click "OK". You can recompile the project and IPO optimization would be disabled for the whole project.
0 Kudos
TimP
Honored Contributor III
783 Views
There should also be a specific setting for /Qipo, as there was in VS2008. I'm trying to learn how to set up a VS2010 project myself.
0 Kudos
Om_S_Intel
Employee
783 Views
In the latest compiler the IPO is on by default. We need to tun it off manually.
0 Kudos
chhenning_1977
Beginner
783 Views
Hi Om, I added the compiler option but the linker still gives me backend signals. I doubled check theicl.command.1.tlog file and all files have been compiled with /Qipo-. A typical command line is:
^C:\WORK\SOURCE64_2\VVV\XXX\SRC\BBB.CPP
/c /Qvc10 /Qlocation,link,"$(VCInstallDir)\bin\x86_amd64" /Zi /nologo /W0 /O2 /Qftz- /D NDEBUG /D WIN32 /D _WINDOWS /D _AFXEXT /D BUILD_AFC /D _CRT_SECURE_NO_DEPRECATE /D AFC_UI /D _VC80_UPGRADE=0x0710 /D _WINDLL /D _MBCS /D _AFXDLL /GF /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Yu"stdafx.h" /Fp"x64\Release\AFC_CL_x64.pch" /Fo"x64\Release\" /Fd"x64\Release\vc100.pdb" /TP /bigobj /Qipo- C:\WORK\SOURCE64_2\VVV\XXX\SRC\BBB.CPP
Any more ideas?
Christian
0 Kudos
TimP
Honored Contributor III
783 Views
In project>properties>compiler>optimization>interprocedural optimization I see choices no/single file/multi file.
also project>properties>linker>optimization>interprocedural optimization
0 Kudos
Reply