Community
cancel
Showing results for 
Search instead for 
Did you mean: 
chhenning_1977
Beginner
165 Views

xilink: backend signals

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
Black Belt
165 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.

chhenning_1977
Beginner
165 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

JenniferJ
Moderator
165 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
chhenning_1977
Beginner
165 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
chhenning_1977
Beginner
165 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
JenniferJ
Moderator
165 Views

Even with just one .cpp file??

does it happen in "debugn|x64" config?

Jennifer
Om_S_Intel
Employee
165 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.
chhenning_1977
Beginner
165 Views

Hi there, how can I disable Qipo in Visual Studio 2010?
Thanks,
Christian
Om_S_Intel
Employee
165 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.
TimP
Black Belt
165 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.
Om_S_Intel
Employee
165 Views

In the latest compiler the IPO is on by default. We need to tun it off manually.
chhenning_1977
Beginner
165 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
TimP
Black Belt
165 Views

In project>properties>compiler>optimization>interprocedural optimization I see choices no/single file/multi file.
also project>properties>linker>optimization>interprocedural optimization
Reply