VS2008: C2471 Cannot update program database



    Hi all,


    I thought this problem is supposed to be fixed already in VS2008 RTM...


    I downloaded and installed VS2008 RTM today.   After converting my 30-project solution successfully, I built the solution and got many, may C2471 error.  I tried every thing:  delete all pdb files, set the "maximum number of parallel projects builds" to 1, but still get the C2471 error.


    My machine got tons of diskspace, and none of the PDB files is bigger than 4MB (limited on pdb file is 64MB, I believed)

    Is there any "work around" this problem at all?  To me, this bug is absolutely a "show stop" bug.  Why in the world that Microsoft RTM its VS2008 with a bug like this?


    Would this is a problem that caused Bill Gate to step down/out because he is so ashame of (hehehehehehe)


    Anyway, please advice:  should I uninstall VS2008, dump it into my trash can and wait for the next release?.



    Thursday, January 17, 2008 12:06 AM


All replies

  • You can sometimes get that error if your directory structure is too long.  Does the build step result in paths that exceed the maximum path length for DOS filenames of 260 characters?


    Friday, January 18, 2008 8:53 PM

    Nah!  This is a "show stop" bug - at least, to my opinion - for VS-2008.  The VS2008 dev team admitted that it is a bug that is "fixed but unfortunately did not get into the RTM on time."



    Click on this, Jason...





    Friday, January 18, 2008 10:23 PM
  • Interesting.

    Friday, January 18, 2008 10:25 PM
  • This is affecting me too and I have no time for this. I am reverting back to 2005. Unfortunately this means my company will remain on 2005 for the next 8 months until my company's next major release. We do not change compilers midstream. 


    Maybe turning off incremental builds is a workaround, but my company cannot develop like this.


    I cannot believe this is not a major problem. This must affect more than us. Is any one else using the C++ compiler?




    Wednesday, January 23, 2008 2:37 AM
  • Yes . I agree this is a bug in vs2008 rtm.
    But this maybe not a big problem.
    May be these way can solve your problem.
    1)Disable Increment Link

    or Delete the *.obj files and rebuild it .

    I have encountered this problem many times , but I think it can ignore it just need more time to build.

    Revert the solution to vs2005 is not good.
    Wednesday, January 23, 2008 6:32 AM
  • It is huge problem. Disabling /Gm is not working for me. Same error in the PCH. Even though /Gm is disabled it still generates a idb. I am not going to bother to see if disable PCH works. The compile time be unacceptable. Nope, we cannot upgrade to VS2008. VS2005 works fine. However, the C# developers will not be pleased with my decision.

    Wednesday, January 23, 2008 7:53 AM
  • I just hit Build > Clean Solution, and it worked the next time that I compiled.  I hope it works for you guys.
    Friday, January 25, 2008 5:00 AM

    Show stopper?  Maybe I'm missing something but so far this has simply been a collossal pain in the rear.


    So far, for me, there has always been a "real" error that triggers the problem.  From there it is sticky for that project until I do a clean or rebuild, then if the "real" problem has been fixed all is well again.


    There is a related (or similar) problem where if you #import a missing TLB the IDE holds open several files and until you kill it dead you can't edit or delete them.  Closing the solution won't do it.  Some kind of leak.


    It's buggy and slow but it seems to me that it compiles code without "fatal" errors reasonably well.

    Tuesday, February 19, 2008 6:10 PM
  • Hi, I found a solution on another forum.  A patch for Visual Studio 2008 named VS90-KB946040.exe can be downloaded to fix the problem.  This patch removes the message "Cannot update program database".  Just search for the exe in google and you will find the download page for the patch.  Good luck.

    Thursday, May 15, 2008 9:21 PM
  • Imagine you were in the middle of your HUGE project compilation and you get a compiling error (this happens all the time).  You make some changes to your code and when you try to build it again you get this error we are talking here about. Do you think it is a solution to clean and rebuild?? There are projects that take +24h to build!

    I'll try that patch!

    Friday, August 29, 2008 11:51 AM
  • Am I right in assuming this fix is included in SP?
    Tuesday, September 2, 2008 10:37 AM
  • I cleaned my solution and rebuild it and it worked fine.
    Tuesday, January 27, 2009 11:44 PM
  • I have this problem with VS2008 sometimes too.

    The easiest reliable workaround is to simply switch the debug info to C7 format instead of using the PDB.

    Find Project Options -> C/C++ -> General -> Debug Information Format and set it to C7.
    Sunday, May 10, 2009 8:41 AM
  • I have this problem with VS2008 sometimes too.

    The easiest reliable workaround is to simply switch the debug info to C7 format instead of using the PDB.

    Find Project Options -> C/C++ -> General -> Debug Information Format and set it to C7.

    Ding,Ding,Ding Bingo! 

    ThisIsARequiredField I owe you a big THANK YOU.

    That solved this issue for me.

    After having this problem off and on for the past two years - usually just a clean and rebuild all fixed it.
    Other times I would have to Clean - shut down VS and or reboot.
    Thursday, September 17, 2009 8:58 PM
  • Thanks it worked. 
    Tuesday, April 27, 2010 5:02 AM
  • Thanks for the Solution to the problem. It worked for me.
    Sunday, June 20, 2010 2:05 PM
  • Thank you!!!

    Setting Debug Information Format to C7 helped me.

    I did not find Project Options > C/C++ > General...then I right clicked on the file, properties > C/C++ > General and modified.


    Friday, July 16, 2010 10:31 AM
  • Thanks a lot!

    This worked around the issue for me as well :)

    Monday, November 15, 2010 3:35 PM
  • Delete the *.obj files worked!!!

    thanks a lot...


    Saturday, May 21, 2011 9:41 AM