All of lore.kernel.org
 help / color / mirror / Atom feed
* Automatic dependencies are out of sync
@ 2018-09-05 14:05 Juergen Gross
  2018-09-06  7:34 ` Juergen Gross
  0 siblings, 1 reply; 7+ messages in thread
From: Juergen Gross @ 2018-09-05 14:05 UTC (permalink / raw)
  To: xen-devel, Ian Jackson

I think we have a major problem in our build system regarding
automatic dependencies.

Starting with a new tree (after git clone or make clean) I have
no dependency files (*.d2) anywhere:

$ make clean
$ find . -name '*.d2' | wc -l
0

Doing "make" will produce only some of them in a very limited number of
directories:

$ make
$ find . -name '*.d2' | wc -l
279
$ find . -name '*.d2' | xargs -n 1 dirname | sort -u
./tools/firmware/xen-dir/xen-root/xen/arch/x86
./tools/firmware/xen-dir/xen-root/xen/arch/x86/x86_64
./tools/firmware/xen-dir/xen-root/xen/common
./tools/firmware/xen-dir/xen-root/xen/common/compat
./xen/arch/x86
./xen/arch/x86/x86_64
./xen/common
./xen/common/compat

And only after the next "make" we have all of the *.d2 files available:

$ make
$ find . -name '*.d2' | wc -l
969

I guess the reason for that is that the *.d2 files only depend on the
*.d files which are built together with the *.o files. They are not
needed for building the product files, so they seem to be always one
make step behind.

Now comes the weird part (that's why I started to look into this):
When I now do:

$ touch tools/libxc/include/xenctrl.h
$ make

I get build failures in tools/tests/depriv (lots of unknown types like
uint64_t). The .d file in the depriv directory suddenly contains only
7 instead of 44 entries, while the .d2 file is still okay (it is one
make "older", do you remember?):

$ wc .*.d*
   7   14  546 .depriv-fd-checker.d
  44   88 1923 .depriv-fd-checker.d2

And doing another make will succeed again, but now both dependency files
are cut down to 7 entries (sure they are: .d2 is rebuilt from .d, while
.d would only be rebuilt if .o is being built, which isn't happening as
no file it depends on has changed):

$ make
$ wc .*.d*
  7  14 546 .depriv-fd-checker.d
  7  14 336 .depriv-fd-checker.d2

I have no immediate idea how to solve that.


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-09-06 12:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-05 14:05 Automatic dependencies are out of sync Juergen Gross
2018-09-06  7:34 ` Juergen Gross
2018-09-06  8:10   ` Jan Beulich
     [not found]   ` <5B90E0DE02000078001E5D5A@suse.com>
2018-09-06  8:27     ` Juergen Gross
2018-09-06 10:26       ` Jan Beulich
     [not found]     ` <02463da8-eeff-f254-b8c2-5c1e?= =?UTF-8?Q?5b96ab53@suse.com>
2018-09-06  8:39       ` Andrew Cooper
     [not found]     ` <02463da8-eeff-f?= =?UTF-8?Q?254-b8c2-5c1e5b96ab53@suse.com>
     [not found]       ` <5B9100F302000078001E5E17@suse.co?= =?UTF-8?Q?m>
2018-09-06 12:21         ` Juergen Gross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.