Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


At 9:29pm -0400 Sat, 29 Oct 2011, Bjoern Michaelsen wrote:
On Sat, Oct 29, 2011 at 06:17:09PM -0400, Kevin Hunter wrote:
This is proving very cumbersome, however, as I'm unable to re-make
just the affected files. For instance

$ make -j1 | head; sleep; make -j1 | head

The attached output indeed should never happen. What file did you
touch to generate it?

Between those two make runs? Nada. (That's why I showed it working in one shell command line.) If you mean before I started the compile, I'd touched a bunch of ScPostIt* related files in sc/inc and sc/source/core/data.

However, I churned through the slow build time about 20 times last night until I was finally able to build 'sc'. Now the behavior seems to be correct, in that only the necessary files are actually built. I.e. I can no longer recreate that behavior.

From the outside, it smells to me like there is a "transactional" behavior defined in the make files. That is, if all the files of a certain transaction don't get built properly, then the build redoes all of them. Is that expected/intentional behavior? Or did I just hit some corner case in my sc/ modifications?

Should not at least the first 3 completed executions no longer need
to be re-executed?

Yes. Could you check the timestamps of
(1) [...]/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difexp.d
being newer than
(2) [...]/workdir/unxlngx6.pro/CxxObject/sc/source/filter/dif/difexp.o
and that again being newer than
(3) [...]/sc/source/filter/dif/difexp.cxx
, please?

Last night, (2) was newer than (1), (1) was newer than (3). Now, after a couple of successful builds, (3) is newer than (2), which is newer than (1). Summary ("<=" == "younger than"):

Before success: (2) <= (1) <= (3)
After success:  (3) <= (2) <= (1)

In any event, since I can't recreate it anymore, and it seems to be working fine, I'm moving on ...

Thanks,

Kevin

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.