Messages in this thread | | | Date | Tue, 16 Aug 2016 09:41:10 +0800 | From | Yilong Ren <> | Subject | Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'. |
| |
On Mon, Aug 15, 2016 at 06:30:48PM -0700, Dan Williams wrote: > On Mon, Aug 15, 2016 at 6:26 PM, Fengguang Wu <fengguang.wu@intel.com> wrote: > > On Mon, Aug 15, 2016 at 05:58:36PM -0700, Dan Williams wrote: > >> > >> On Mon, Aug 15, 2016 at 3:03 AM, kbuild test robot > >> <fengguang.wu@intel.com> wrote: > >>> > >>> tree: > >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > >>> head: 694d0d0bb2030d2e36df73e2d23d5770511dbc8d > >>> commit: ab68f26221366f92611650e8470e6a926801c7d4 /dev/dax, pmem: direct > >>> access to persistent memory > >>> date: 3 months ago > >>> config: i386-randconfig-i1-201633 (attached as .config) > >>> compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4 > >>> reproduce: > >>> git checkout ab68f26221366f92611650e8470e6a926801c7d4 > >>> # save the attached .config to linux build tree > >>> make ARCH=i386 > >>> > >>> All errors (new ones prefixed by >>): > >>> > >>>>> make[2]: *** No rule to make target > >>>>> 'tools/testing/nvdimm//config_check.o', needed by > >>>>> 'tools/testing/nvdimm//dax.o'. > >>> > >>> make[2]: Target '__build' not remade because of errors. > >> > >> > >> I think this is an invalid build test. tools/testing/nvdimm/ uses a > >> external module Kbuild environment, not Kconfig. So, there's nothing > >> I can do to prevent this compile error, unless there's some other way > >> 0-day could determine the configuration dependencies? > > > > > > Yeah if you can offer a concrete rule for the dependency, we'll add > > it to 0-day. > > Sounds good. The config_check.c file itself lists the dependencies: > > void check(void) > { > /* > * These kconfig symbols must be set to "m" for nfit_test to > * load and operate. > */ > BUILD_BUG_ON(!IS_MODULE(CONFIG_LIBNVDIMM)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_BLK_DEV_PMEM)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_ND_BTT)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_ND_PFN)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_ND_BLK)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_ACPI_NFIT)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_DEV_DAX)); > BUILD_BUG_ON(!IS_MODULE(CONFIG_DEV_DAX_PMEM)); > }
i check the doc from https://github.com/pmem/ndctl, and get info as follows:
Compile the libnvdimm sub-system as a module, make sure "zone device" memory is enabled, and enable the btt, pfn, and dax features of the sub-system: CONFIG_ZONE_DEVICE=y CONFIG_LIBNVDIMM=m CONFIG_BLK_DEV_PMEM=m CONFIG_ND_BLK=m CONFIG_BTT=y CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y
it has a litte difference between them.
-- Thanks Ren Yilong
| |