Unexpected PDB error

Unexpected PDB error

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

12 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

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

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

Thanks for the reply, Vladimir. This used to work with Composer XE Update 3. What changed to cause this behavior?

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

No, in my case it's:lib1.lib -/O2 /Ob2 /Oi /Ot /Qipotest1.exe -/O2 /Ob2 /Oi /OtThanks,Scott

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

Thanks for looking into it.Scott

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

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.

-- Regards, Igor Levicki If you find my post helpfull, please rate it and/or select it as a best answer where applies. Thank you.

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

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

Accedere per lasciare un commento.