views:

310

answers:

1

We are seeking ideas on resolving a problem with linking/pdb generation when running multiple devenv.com using Visual Studio 2005.

We are getting the following intermittently errors when doing parallel builds using devenv.com. I.e. when the following get run at the same time on the same build server:

devenv.com master.sln /build "Release|Win32" 
devenv.com master.sln /build "Debug|x64" 

fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'
error C2471: cannot update program database

We want the pdb files, so turning them off isn't realy an option. Running the builds serially doesn't cause the issue, but of course slows down the build process.

References found so far indicate

  • that there are issues with length of file names exceeding the 256 file path limit, this doesn't seem to be our problem as we can build individually, and the path+filename length is around 160 chars.
  • there are issues with incremental builds (but mainly in Visual Studio 2008) and we have incremental linking turned off.

We are looking for input on resolving this multiple process issue, if possible.

How do we resolve it?

A: 

Try enabling source-code parallel builds instead. That will efficiently use all cores on your server, unless you have more cores than source files in your solution. Here is more information on how you have enable source-code parallel builds: http://vagus.wordpress.com/2008/02/15/source-level-parallel-build-in-visual-studio-2005/

Sergiy Byelozyorov
All great info especially the link to /MP on 2005. However we actually wish to be able to build more than 1 project at a time (given a 32 core build machine, tend to having most cores idle while linking). We currently have debug and release versions of projects split to track the project outputs separately, which means there should be no reason not to be able to build both at the same time, except that the pdb link step crashes.
Greg Domjan