incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Rist <andrew.r...@oracle.com>
Subject Re: Removing output trees during the bootstrap step?
Date Thu, 23 Feb 2012 18:21:26 GMT


On 2/23/2012 6:14 AM, J├╝rgen Schmidt wrote:
> On 2/23/12 2:49 PM, Herbert Duerr wrote:
>> For a long time the old build system had the problem that build
>> dependencies between modules had to be set manually and this was quite
>> fragile, of course. It can result in obvious trouble like compile or
>> link failures and what is more troubling are subtle problems, like
>> struct changes going unnoticed by a source file depending on it. The
>> result are hard to debug and "interesting" artifacts.
>>
>> The gbuild process has many benefits one of which is its automatic
>> handling of dependencies. Volunteers are very welcome to migrate the
>> remaining modules. In the meantime we have to deal with the dual
>> gbuild/oldbuild process which complicates the dependency problem more.
>> The manually set dependencies of the old build system where also not
>> perfectly debugged which showed when the build order was changed, e.g.
>> by doing a highly parallel builds on beefy buildbots. Fixing all to the
>> the old-build dependencies would help too, volunteers are very welcome.
>>
>> Looking for a solution that works reliably for the very near future I'm
>> considering to add a "clean output trees" to the bootstrap step. It
>> would make sure that all is rebuilt when the configuration gets changed.
>> Of course you could prevent that (by setting an environment variable
>> DO_KEEP_OUTPUT_TREES) but the default should be to go the "better safe
>> than sorry" way.
>>
>> --- a/main/bootstrap.1
>> +++ b/main/bootstrap.1
>> @@ -22,3 +22,11 @@ if [ "$DO_FETCH_TARBALLS" = "yes" ]; then
>> $SRC_ROOT/fetch_tarballs.sh $SRC_ROOT/ooo.lst
>> fi
>>
>> +# remove all output trees
>> +# TODO: this is no longer needed when all dependencies are perfect
>> +# or when the switch to the gbuild system is complete
>> +if [[ -n "$DO_KEEP_OUTPUT_TREES" && -n $INPATH && -n $OUTDIR ]];
then
>> + echo Removing the output trees
>> + rm -rf "*/${INPATH}" "${OUTDIR}"
>> +fi
>> +
>>
>
> do you think this is related to some of our problems with the buildbots?
>
> We should definitely ensure that our buildbots build the office from 
> scratch, at least until we have more reliable and working dependencies.
I'm trying to have a mix of clean and incremental builds.  For now, 
Linux64 is our most stable build and it clobbers the tree each build.
The win build is incremental, and windows seems to have more of these 
inter-dependencies - a clean build is more likely to have issues that 
are resolved by a rebuild than other platforms (at least in my short 
experience with this).  (The win build is currently still broken on the 
last instsetoo step.  that is unresolved)  Every once in a while I 
clobber the tree and force a clean build
Our linux32 build has still not been successful all the way through 
(partially due to the use of ubu 11.10 vs ubu 10.04).  We'll keep this 
incremental (with periodic clobbers) until the build is stable.

A.

>
> Can we ensure that the build bits build from scratch? With or without 
> this patch?
>
> Juergen
>


Mime
View raw message