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.