independent runs with copies of executable possible?

  • Thread starter Thread starter Gary Ferland
  • Start date Start date
G

Gary Ferland

Greetings,
I have a large console C code that is compiled every night by the master
machine that hosts the source. I have a number of slave machines that then
make copies of the executable on their own disk, and run a series of tests.
The code is built with VS2005 rc on the master and each of the slave
machines has its own copy of VS2005 rc although they simply copy the exe
file to their own space.

These tests take a full day, and the problem is that the master cannot
rebuild its own version of the executable while the slaves are running their
own copies. Apparently, the fact that the slaves are running their own
copies of the exe on their own disks blocks the master from updating its
copy - the log file has an error saying that the linker cannot open the exe
file. The actual error in the log is the following:
Linking...
LINK : fatal error LNK1104: cannot open file 'Release/current.exe'

is there a link time, or other option, to allow the exe file to become
independent of the remaining infrastructure? is there any way to create
independent instances of the same executable other than doing a complete
rebuild on each slave?

many thanks,
Gary Ferland
 
Hi Gary,

First of all, I would like to confirm my understanding of your issue. From
your description, I understand that you're developing on a C app using
VS.NET 2005 RC. You need to build the main exe without first building the
dependent libraries. If there is any misunderstanding, please feel free to
let me know.

As far as I know, this is not possible. When you build the exe, you must
have the dependent dlls first. But after your master server builds the exe,
and copy spread them by copying to the slave machines, I think the exe on
the master server will not be in use, and you can build again. Are the exes
using some shared resources in this case?

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."
 
Hi Kevin,
First of all, I would like to confirm my understanding of your issue. From
your description, I understand that you're developing on a C app using
VS.NET 2005 RC. You need to build the main exe without first building the
dependent libraries. If there is any misunderstanding, please feel free to
let me know.

there are no libraries other than the standard ansi c libraries.
As far as I know, this is not possible. When you build the exe, you must
have the dependent dlls first. But after your master server builds the
exe,
and copy spread them by copying to the slave machines, I think the exe on
the master server will not be in use, and you can build again. Are the
exes
using some shared resources in this case?

they must be using some shared resource, that would account for the problems
I am having. The code is totally self contained. The exe is created by
linking the compiled routines against the standard C libraries. The app is
command prompt only, no windows api at all. it just does number crunching.

the app is totally cross platform, and this trick works on other OSs.

thanks for any ideas,
Gary
 
Hi Gary,

I agree with you that these copies of exes are using some shared resources.
Since the copies are running on the slave machines seperately, I suggest
you try to check the code to see if they are using some shared resources on
the master build server.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."
 
Back
Top