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

Unexpected PDB error

Scott_Danahy
Beginner
762 Views

Hello,
I recently updated to Intel Composer XR Update 9. When I build my (rather large) project I get the following link error:ipo_72885obj.obj : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'Interestingly, the only project using IPO is the MPEG2 decoder sample from the Integrated Performance Primitives UMC library. Anyone else having this problem?Edited to Add:This is with Visual Studio 2010 SP1.Thanks,Scott

0 Kudos
11 Replies
Vladimir_P_1234567890
762 Views
Hi Scott,

I've got such error when library and executible have different optimization options: One uses IPO and another doesn't use it. Both modules need to have the same setting.

--Vladimir
0 Kudos
SergeyKostrov
Valued Contributor II
762 Views
Is that correct that, for example, I cannot have a software system like:

Executable - optimized for Size

Dependent DLLs:
- DLL1 - optimized for Size
- DLL2 - optimized for Speed

Dependent Static Libraries:
- LIB1 - optimized for Size
- LIB2 - optimized for Speed

In general,the IPO limitations you've mentionedlook very strange.

Best regards,
Sergey
0 Kudos
Scott_Danahy
Beginner
762 Views
Thanks for the reply, Vladimir. This used to work with Composer XE Update 3. What changed to cause this behavior?
0 Kudos
JenniferJ
Moderator
762 Views
There is a bug in the compiler. It's been looked at.

The scenario is like this:
. lib1.lib - /Od /Qipo
.dll1.dll or test1.exe- /O2 /Qip, and linking lib1.lib -- this could cause this issue.

The work-around in this case is to remove /Qipo when building the lib1.lib.
Although using /Qipo with /Od does not make sense, but it is a bug in the compiler.

is this the case for you? I'm not sure if this bug is newly introduced.

Jennifer
0 Kudos
Scott_Danahy
Beginner
762 Views
No, in my case it's:
lib1.lib -/O2 /Ob2 /Oi /Ot /Qipo
test1.exe -/O2 /Ob2 /Oi /Ot
Thanks,
Scott
0 Kudos
JenniferJ
Moderator
762 Views
I'm able to duplicate it with your options.

I'll add this case to the same bug report to see if it can be fixed at the same time.

In this case, adding /Qipo to "test1.exe" can work-around the issue.

thanks,
Jennifer
0 Kudos
Scott_Danahy
Beginner
762 Views
Thanks for looking into it.
Scott
0 Kudos
JenniferJ
Moderator
762 Views
This bug is fixed in 13.0.
The 13.0 is in beta right now, you can sign up the beta from here: http://software.intel.com/en-us/forums/showthread.php?t=104796&o=a&s=lr

It will not be fixed in 12.1. The work-around for 12.1 is to add /Qipo when linking the final .exe.

thanks.
Jennifer
0 Kudos
levicki
Valued Contributor I
762 Views
Jennifer, unfortunately it is not fixed in 2013 beta (Intel C++ Compiler XE for applications running on IA-32, Version 13.0.0.041 Beta Build 20120425) -- I can still reproduce it.

I have a release library (.lib) built with /Qipo, and when I link it with the application (.exe) built in debug mode without /Qipo (which makes no sense in debug mode) I get the error:

1>ipo_4692obj3.obj : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'

Note that even though the build is failed the executable is produced and it is working but the $(TargetName).pdb file is invalid / corrupted -- it seems that Intel compiler produces invalid debug records which cause mspdbsrv.exe to crash.

0 Kudos
JenniferJ
Moderator
762 Views
Thanks for checking it out Igor.

The testcase was with VS2008, and it did fix in that env. When I tried with VS2010, it still fail with 13.0 beta update1.

Let me reopen the issue and get it fixed for VS2010 as well.

I'll update here when it's fixed. the work-around is to use -qnoipo again at link time.

Jennifer
0 Kudos
JenniferJ
Moderator
762 Views
Hello, the Intel C++ Composer XE 2013 for Windows RTM that is released last week contains all the fixes for t his issue. I've tested with VS2010, and it worked. As long as your support service is not expired, you can download/install the Intel C++ Composer XE 2013 for Windows for free. thanks, Jennifer
0 Kudos
Reply