Boost logo

Boost-Build :

Subject: [Boost-build] concurrent build processes both over samba share and local influence each other
From: Moritz Hassert (mhassert_at_[hidden])
Date: 2010-12-10 06:31:17


Hi all,

from time to time I encounter a strange effect when using boost-build over a
samba share:

I share my local disk with a windows machine over samba.

I connect to the windows box remotely, go to the source tree shared from my
linux box and start a bjam build using mingw. Because I don't do that very
often lots of files have changed and bjam has to rebuild almost the whole
project.

While that build is still running on the remote windows box I start another
build on my local linux box using native gcc. This build should only update
one or two files I changed a few minutes ago. But sometimes when the windows
build is still running in parallel bjam decides to rebuild almost everything
in the project.

Note that both build processes should be _reading_ the same source files but
should be _writing_ only to their different build directory subtrees. So it
seems very strange that they influence each other in any way.

If I wait for the windows build to finish before I start the linux build,
everything is fine. So apparently the windows build doesn't change any file
timestamps.

Anyone any ideas why this is happening?

I can think of two possible explananations:

a) Could it be that bjam considers locked *cpp/*h files as being modified? That
makes sense for read locked files as bjam isn't allowed to look into them for
further dependencies and therefore cannot guarantee nothing changed. But
write-locked files should be no problem.
Maybe bjam/gcc/samba create unnecessary strict locks on windows?
Or bjam opens source files in rw mode?

b) bjam creates some kind of lock files or other temporary files in the source
tree outside the build subtree that clash when several concurrent bjam
processes are running.

Note:
The Problem could be all samba/gcc 's fault. Non the less I hope to find
someone with a similar experience on this list as I hope more people here do
cross platform builds.

Greetings
Moritz

-- 
--
AB+M GmbH 
Haid-und-Neu-Straße 7
76131 Karlsruhe
Telefon: (0721) 66488-0
Telefax: (0721) 66488-18
Geschaeftsfuehrer: Dipl.-Inform. Christopher Asp
Amtsgericht Mannheim HRB 105845
Geschaeftsfuehrer: Dipl.-Inform. Christopher Asp
Amtsgericht Mannheim HRB 105845

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk