Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> writes: > On Thu, 2009-06-04 at 15:01 -0500, Nathan Lynch wrote: >> Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> writes: >> > diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig >> > --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup 2009-06-04 11:38:57.000000000 -0700 >> > +++ linux-2.6.git-dave/checkpoint/Kconfig 2009-06-04 11:38:57.000000000 -0700 >> > @@ -7,9 +7,14 @@ config DEFERQUEUE >> > default n >> > >> > config CHECKPOINT >> > - bool "Enable checkpoint/restart (EXPERIMENTAL)" >> > + bool "Checkpoint/restart (EXPERIMENTAL)" >> > depends on CHECKPOINT_SUPPORT && EXPERIMENTAL >> > select DEFERQUEUE >> > + select UTS_NS >> > + select IPC_NS >> > + select NET_NS >> > + select PID_NS >> > + select USER_NS >> >> *_NS all depend on NAMESPACES at the very least; some have additional >> dependencies. Selecting a symbol without ensuring its dependencies are >> enabled is one way to break a build. > > Ahh, but there *isn't* a strict build dependency on them. We just want > to make sure that if they're available that we enable them. If we have > CONFIG_NET=n, then we certainly don't want to make CHECKPOINT depends on > it. Sorry, I'm afraid I don't understand what you're saying here. Here's a concrete example of what I'm talking about. $ git checkout oren/ckpt-v16 $ make ARCH=i386 i386_defconfig [ edit .config, enable CONFIG_CHECKPOINT and disable CONFIG_NET ] $ make ARCH=i386 -s vmlinux # which should succeed [ apply your patch ] $ make ARCH=i386 -s vmlinux kernel/built-in.o: In function `free_nsproxy': (.text+0x1daaf): undefined reference to `__put_net' make: *** [.tmp_vmlinux1] Error 1 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers