Talk:Distcc With MSVC

From CDOT Wiki
Revision as of 22:55, 6 September 2007 by Shihhuangti (talk | contribs) (1, how to make several threads working together?)
Jump to: navigation, search

You guys should put a link to your patch here. (David.humphrey 19:09, 12 October 2006 (EDT))

I would like to help you out with this project. I'll look into it in the weekend. (Liz Chak 17:09, 29 November 2006 (EDT))

Distribution Failure Causes

Ok, so I've been wondering what could be causing these issues here's a weird thing: When trying to send the file over the network it doesn't seem to getting distributed right now (Using cl settings). I don't know why this is but with gcc it seems to get distrubted fine. I'll document more as I find out how and why this is happening

Themystic 00:30, 20 December 2006 (EST)

how to make several processes work together and how to reserve the debug information?

first, thanks a lot for the authors working with the distcc vc support;

I have two questions about distcc with vc support, thanks a lot!

Fist of all, Thanks!

Second of all, I'm very interested in how you're using distcc. Please email me at

Themystic 21:11, 6 September 2007 (EDT)

1, how to make several threads working together?

I have already use the distcc with MSVC on the windows with the support of CygWin; but now, I only can make the whole project with single thread, when I assign the -jN opition to gnu make, a error occurs: sth about vc60.idb file can't be accessed, maybe the cl.exe will used this file when compile a c file, when several threads works concurrently they want to open the file, but the file can't be opened by more than one users for writing purpose.

I use vc60, and export the projects mkfiles, and modified the nmake makefile to gnu's make file. and want to use the -jN opition , but failed.

Please post more info. Please, at least, give the entire error message.

I'm also a little unclear - are you trying to read vc60.idb multilple times or write it multiple times or a combination?

Themystic 21:08, 6 September 2007 (EDT)

thanks for your reply:

I wonder that what's your method using the distcc-vc? because this question I mentioned here should be meet when somebody use distcc tools to compile the vc projects, but why there aren't anything about it? ^-^

I invoke the gnu make at the cygwin bash:$ make -j4 all

cl option is: /nologo /MLd /w /W0 /GX /Z7 /Od /I /FR"./debug/\" /Fp"./debug/Lib-vrp.pch" /YX /Fd"./debug/\" /FD /GZ /c

the error is : fatal error C1033: cannot open program database 'directoryname\vc60.idb' C:/Cygwin/tmp/distccd_de56c7fd.c(0) : fatal error C1033: cannot open program dat abase 'c:\cygwin\tmp\vc60.idb' distcc[3724] ERROR: compile filename.c on failed with exit code 2 make: *** [debug/filename.obj] Error 2 distccd_8b6cc7fd.c C:/Cygwin/tmp/distccd_8b6cc7fd.c(0) : fatal error C1033: cannot open program dat abase 'c:\cygwin\tmp\vc60.idb' distcc[7040] ERROR: compile filename.c on failed with exit code 2 make: *** [debug/filename1.obj] Error 2

the read operation of the idb file is performed by cl.exe (maybe, because I don't access it (in my makefile, don't mention the file) but the cl.exe report the error), I thought maybe the cl.exe will accessed the file whenever compile a file?

2, how to dealwith the pdb file? Can the distcc maintain the debug informations when distributing the compile task?

When I get a exe file generated by the distcc tools, can I use the vc IDE to debug the exe? just like debug the exe which generated on the localhost?

Did someone has some method to resolve this problem? thanks!

By deafult MSVC uses pdb files to hold debug info. I'm working on patching distcc to make this a non-issue but in the mean time you can give cl.exe a flag which will embed debug symbols in the .o files (and thus in the .exe). I don't remember the flag.

Themystic 21:04, 6 September 2007 (EDT)