Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1462689 > unrolled thread

make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

Started bykbuild test robot <fengguang.wu@intel.com>
First post2016-08-15 12:10 +0200
Last post2016-08-25 06:50 +0200
Articles 17 — 4 participants

Back to article view | Back to linux.kernel


Contents

  make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. kbuild test robot <fengguang.wu@intel.com> - 2016-08-15 12:10 +0200
    Re: make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o',  needed by 'tools/testing/nvdimm//dax.o'. Dan Williams <dan.j.williams@intel.com> - 2016-08-16 03:00 +0200
      Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-16 03:30 +0200
        Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'. Dan Williams <dan.j.williams@intel.com> - 2016-08-16 03:40 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-16 03:40 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Yilong Ren <yilongx.ren@intel.com> - 2016-08-16 03:50 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'. Dan Williams <dan.j.williams@intel.com> - 2016-08-16 03:50 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Yilong Ren <yilongx.ren@intel.com> - 2016-08-16 03:50 +0200
            Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-16 04:00 +0200
              Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Yilong Ren <yilongx.ren@intel.com> - 2016-08-16 04:20 +0200
                Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Yilong Ren <yilongx.ren@intel.com> - 2016-08-16 04:40 +0200
                Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-16 04:40 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-16 03:50 +0200
          Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'. Dan Williams <dan.j.williams@intel.com> - 2016-08-24 01:50 +0200
            Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-24 04:50 +0200
              Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'. Dan Williams <dan.j.williams@intel.com> - 2016-08-24 17:10 +0200
                Re: [kbuild-all] make[2]: *** No rule to make target  'tools/testing/nvdimm//config_check.o', needed by  'tools/testing/nvdimm//dax.o'. Fengguang Wu <fengguang.wu@intel.com> - 2016-08-25 06:50 +0200

#1462689 — make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

Fromkbuild test robot <fengguang.wu@intel.com>
Date2016-08-15 12:10 +0200
Subjectmake[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6n0e-4eK-13@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

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.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[toc] | [next] | [standalone]


#1463315 — Re: make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromDan Williams <dan.j.williams@intel.com>
Date2016-08-16 03:00 +0200
SubjectRe: make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6ATv-4sZ-9@gated-at.bofh.it>
In reply to#1462689
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?

[toc] | [prev] | [next] | [standalone]


#1463325 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-16 03:30 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6Bmx-4Uu-9@gated-at.bofh.it>
In reply to#1463315
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. 

Yilong (CCed) recently enabled "make M=tools/testing/nvdimm/" and the
current "dependency" checking is pretty permissive: as long as there
is a tools/testing/nvdimm/ dir.

Thanks,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1463327 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromDan Williams <dan.j.williams@intel.com>
Date2016-08-16 03:40 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6Bwe-4Yx-7@gated-at.bofh.it>
In reply to#1463325
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));
}

[toc] | [prev] | [next] | [standalone]


#1463329 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-16 03:40 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6Bwe-4Yx-13@gated-at.bofh.it>
In reply to#1463327
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));
>}

Great, that looks good and easy rules to follow!

If that list is subject to change in future, we can even grep that
file and use the results to check .config.

Regards,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1463333 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromYilong Ren <yilongx.ren@intel.com>
Date2016-08-16 03:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6BFU-52d-13@gated-at.bofh.it>
In reply to#1463327
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

[toc] | [prev] | [next] | [standalone]


#1463334 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromDan Williams <dan.j.williams@intel.com>
Date2016-08-16 03:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6BFU-52d-17@gated-at.bofh.it>
In reply to#1463327
On Mon, Aug 15, 2016 at 6:41 PM, Fengguang Wu <fengguang.wu@intel.com> wrote:
> 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
>
>
> If "y" is not a valid option, we'll need to adjust 0-day's dependency
> specification for ndctl test:

Unfortunately, "y" is not valid because the unit tests use the
"--wrap=" linker feature to redirect calls to exported symbols to mock
versions provided by the nfit_test.ko module.  When the code is
compiled with "y" instead of "m" the linker will use the real symbol
rather than the mock/test version.

> wfg /c/lkp-tests% cat include/ndctl
> need_kconfig:
> - CONFIG_HAVE_DMA_CONTIGUOUS=y
> - CONFIG_CMA=y
> - CONFIG_DMA_CMA=y
> - CONFIG_CMA_SIZE_MBYTES=200

I recently, last week in the 4.8 merge window, removed the dependency
on CMA.  The ndctl README.md for version 54 notes the change.

> - CONFIG_LIBNVDIMM
> - CONFIG_BLK_DEV_PMEM
> - CONFIG_ND_BLK
> - CONFIG_BTT=y
> - CONFIG_NVDIMM_PFN=y
> - CONFIG_NVDIMM_DAX=y
> - CONFIG_ZONE_DEVICE=y
>
> In the above list, a bare "CONFIG_BLK_DEV_PMEM" means "y" or "m" are
> both acceptable.

...only "m".

[toc] | [prev] | [next] | [standalone]


#1463337 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromYilong Ren <yilongx.ren@intel.com>
Date2016-08-16 03:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6BFU-52d-23@gated-at.bofh.it>
In reply to#1463327
On Tue, Aug 16, 2016 at 09:41:02AM +0800, Fengguang Wu wrote:
> 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
> 
> If "y" is not a valid option, we'll need to adjust 0-day's dependency
> specification for ndctl test:
> 
> wfg /c/lkp-tests% cat include/ndctl
> need_kconfig:
> - CONFIG_HAVE_DMA_CONTIGUOUS=y
> - CONFIG_CMA=y
> - CONFIG_DMA_CMA=y
> - CONFIG_CMA_SIZE_MBYTES=200
> - CONFIG_LIBNVDIMM
> - CONFIG_BLK_DEV_PMEM
> - CONFIG_ND_BLK
> - CONFIG_BTT=y
> - CONFIG_NVDIMM_PFN=y
> - CONFIG_NVDIMM_DAX=y
> - CONFIG_ZONE_DEVICE=y
> 
> In the above list, a bare "CONFIG_BLK_DEV_PMEM" means "y" or "m" are
> both acceptable.

Yes, this is due to enable_module() can accept "y" and "m".
How about forcing enable_module() to accept "m" ?

 23 # CONFIG_XXX=m => unchange
 24 # CONFIG_XXX=y => unchange
 25 # CONFIG_XXX is not set => CONFIG_XXX=m
 26 enable_module()
 27 {
 28     grep -q -F -e "$1=m" -e "$1=y" .config && return  <======
 29 
 30     if [ -x source/scripts/config ]; then
 31         source/scripts/config --file .config --module $1
 32     else
 33         /kbuild/src/linux/scripts/config --file .config --module $1
 34     fi
 35 }

-- 
Thanks
Ren Yilong

> 
> >        * 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));
> 
> Regards,
> Fengguang

[toc] | [prev] | [next] | [standalone]


#1463342 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-16 04:00 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6BPz-55j-1@gated-at.bofh.it>
In reply to#1463337
On Tue, Aug 16, 2016 at 09:47:52AM +0800, Yilong Ren wrote:
>On Tue, Aug 16, 2016 at 09:41:02AM +0800, Fengguang Wu wrote:
>> 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
>>
>> If "y" is not a valid option, we'll need to adjust 0-day's dependency
>> specification for ndctl test:
>>
>> wfg /c/lkp-tests% cat include/ndctl
>> need_kconfig:
>> - CONFIG_HAVE_DMA_CONTIGUOUS=y
>> - CONFIG_CMA=y
>> - CONFIG_DMA_CMA=y
>> - CONFIG_CMA_SIZE_MBYTES=200
>> - CONFIG_LIBNVDIMM
>> - CONFIG_BLK_DEV_PMEM
>> - CONFIG_ND_BLK
>> - CONFIG_BTT=y
>> - CONFIG_NVDIMM_PFN=y
>> - CONFIG_NVDIMM_DAX=y
>> - CONFIG_ZONE_DEVICE=y
>>
>> In the above list, a bare "CONFIG_BLK_DEV_PMEM" means "y" or "m" are
>> both acceptable.
>
>Yes, this is due to enable_module() can accept "y" and "m".
>How about forcing enable_module() to accept "m" ?

I think we could change 

        - CONFIG_BLK_DEV_PMEM
to
        - CONFIG_BLK_DEV_PMEM=m

The former will correspond to kernel's

        #define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))

while the latter correspond to

        #define IS_MODULE(option) config_enabled(option##_MODULE)

And add logic to handle the =m case. Currently we only have
enable_module() which corresponds to kernel's IS_ENABLED().

> 23 # CONFIG_XXX=m => unchange
> 24 # CONFIG_XXX=y => unchange
> 25 # CONFIG_XXX is not set => CONFIG_XXX=m
> 26 enable_module()

The behavior here is good for its current callers, except the "module"
in the function name might be a bit misleading.

Thanks,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1463348 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromYilong Ren <yilongx.ren@intel.com>
Date2016-08-16 04:20 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6C8V-5wO-7@gated-at.bofh.it>
In reply to#1463342
On Tue, Aug 16, 2016 at 09:58:43AM +0800, Fengguang Wu wrote:
> On Tue, Aug 16, 2016 at 09:47:52AM +0800, Yilong Ren wrote:
> >On Tue, Aug 16, 2016 at 09:41:02AM +0800, Fengguang Wu wrote:
> >>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
> >>
> >>If "y" is not a valid option, we'll need to adjust 0-day's dependency
> >>specification for ndctl test:
> >>
> >>wfg /c/lkp-tests% cat include/ndctl
> >>need_kconfig:
> >>- CONFIG_HAVE_DMA_CONTIGUOUS=y
> >>- CONFIG_CMA=y
> >>- CONFIG_DMA_CMA=y
> >>- CONFIG_CMA_SIZE_MBYTES=200
> >>- CONFIG_LIBNVDIMM
> >>- CONFIG_BLK_DEV_PMEM
> >>- CONFIG_ND_BLK
> >>- CONFIG_BTT=y
> >>- CONFIG_NVDIMM_PFN=y
> >>- CONFIG_NVDIMM_DAX=y
> >>- CONFIG_ZONE_DEVICE=y
> >>
> >>In the above list, a bare "CONFIG_BLK_DEV_PMEM" means "y" or "m" are
> >>both acceptable.
> >
> >Yes, this is due to enable_module() can accept "y" and "m".
> >How about forcing enable_module() to accept "m" ?
> 
> I think we could change
> 
>        - CONFIG_BLK_DEV_PMEM
> to
>        - CONFIG_BLK_DEV_PMEM=m
> 
> The former will correspond to kernel's
> 
>        #define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
> 
> while the latter correspond to
> 
>        #define IS_MODULE(option) config_enabled(option##_MODULE)
> 
> And add logic to handle the =m case. Currently we only have
> enable_module() which corresponds to kernel's IS_ENABLED().

how about adding a function "exact_enable_module()" to assure use "m" ?

diff --git a/lib/kconfig.sh b/lib/kconfig.sh
index 595dbfd..1502ce9 100644
--- a/lib/kconfig.sh
+++ b/lib/kconfig.sh
@@ -102,6 +102,7 @@ enable_testcase_config()
        do
                [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=y$ ]] && enable_config ${CONFIG%=y}
+               [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=m$ ]] && exact_enable_module ${CONFIG%=y}
                [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+[A-Z0-9]$ ]] && enable_module $CONFIG
                [[ $CONFIG =~ ^(CONFIG_[A-Z0-9_]+)=([0-9]+)$ ]] && set_config_to_value ${BASH_REMATCH[1]} ${BASH_REMATCH[2]}
        done
 }

-- 
Thanks
Ren Yilong

> 
> >23 # CONFIG_XXX=m => unchange
> >24 # CONFIG_XXX=y => unchange
> >25 # CONFIG_XXX is not set => CONFIG_XXX=m
> >26 enable_module()
> 
> The behavior here is good for its current callers, except the "module"
> in the function name might be a bit misleading.
> 
> Thanks,
> Fengguang

[toc] | [prev] | [next] | [standalone]


#1463351 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromYilong Ren <yilongx.ren@intel.com>
Date2016-08-16 04:40 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6Csi-5CT-1@gated-at.bofh.it>
In reply to#1463348
On Tue, Aug 16, 2016 at 10:30:14AM +0800, Fengguang Wu wrote:
> >how about adding a function "exact_enable_module()" to assure use "m" ?
> >
> >diff --git a/lib/kconfig.sh b/lib/kconfig.sh
> >index 595dbfd..1502ce9 100644
> >--- a/lib/kconfig.sh
> >+++ b/lib/kconfig.sh
> >@@ -102,6 +102,7 @@ enable_testcase_config()
> >       do
> >               [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=y$ ]] && enable_config ${CONFIG%=y}
> >+               [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=m$ ]] && exact_enable_module ${CONFIG%=y}
> 
> s/y/m/
> 
> Otherwise looks good, thanks!

Got it,thanks, will do the patch.

-- 
Thanks
Ren Yilong

> 
> >               [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+[A-Z0-9]$ ]] && enable_module $CONFIG
> >               [[ $CONFIG =~ ^(CONFIG_[A-Z0-9_]+)=([0-9]+)$ ]] && set_config_to_value ${BASH_REMATCH[1]} ${BASH_REMATCH[2]}
> >       done
> >}

[toc] | [prev] | [next] | [standalone]


#1463354 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-16 04:40 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6Csi-5CT-3@gated-at.bofh.it>
In reply to#1463348
>how about adding a function "exact_enable_module()" to assure use "m" ?
>
>diff --git a/lib/kconfig.sh b/lib/kconfig.sh
>index 595dbfd..1502ce9 100644
>--- a/lib/kconfig.sh
>+++ b/lib/kconfig.sh
>@@ -102,6 +102,7 @@ enable_testcase_config()
>        do
>                [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=y$ ]] && enable_config ${CONFIG%=y}
>+               [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+=m$ ]] && exact_enable_module ${CONFIG%=y}

s/y/m/

Otherwise looks good, thanks!

>                [[ $CONFIG =~ ^CONFIG_[A-Z0-9_]+[A-Z0-9]$ ]] && enable_module $CONFIG
>                [[ $CONFIG =~ ^(CONFIG_[A-Z0-9_]+)=([0-9]+)$ ]] && set_config_to_value ${BASH_REMATCH[1]} ${BASH_REMATCH[2]}
>        done
> }

[toc] | [prev] | [next] | [standalone]


#1463339 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-16 03:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s6BFU-52d-19@gated-at.bofh.it>
In reply to#1463327
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

If "y" is not a valid option, we'll need to adjust 0-day's dependency
specification for ndctl test:

wfg /c/lkp-tests% cat include/ndctl
need_kconfig:
- CONFIG_HAVE_DMA_CONTIGUOUS=y
- CONFIG_CMA=y
- CONFIG_DMA_CMA=y
- CONFIG_CMA_SIZE_MBYTES=200
- CONFIG_LIBNVDIMM
- CONFIG_BLK_DEV_PMEM
- CONFIG_ND_BLK
- CONFIG_BTT=y
- CONFIG_NVDIMM_PFN=y
- CONFIG_NVDIMM_DAX=y
- CONFIG_ZONE_DEVICE=y

In the above list, a bare "CONFIG_BLK_DEV_PMEM" means "y" or "m" are
both acceptable.

>         * 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));

Regards,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1468979 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromDan Williams <dan.j.williams@intel.com>
Date2016-08-24 01:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s9tC9-2t9-5@gated-at.bofh.it>
In reply to#1463327
On Mon, Aug 22, 2016 at 5:26 AM, Yilong Ren <yilongx.ren@intel.com> wrote:
> Hi, Williams
>
> 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));
>> }
>
> will get the following error info after set all above kconfig to be "m":
> /kbuild/src/lkp/Makefile:1478: recipe for target '_module_tools/testing/nvdimm/' failed
>
> Would you please help to take a look? thanks.
>
> reproduce:
>         git checkout 29b4817d4018df78086157ea3a55c1d9424a7cfc (v4.8-rc1)
>         # save the attached .config to linux build tree
>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 prepare
>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 modules_prepare
>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 M=tools/testing/nvdimm/
>
> error info:
> /usr/bin/timeout -k 100 3h /usr/bin/make HOSTCC=gcc-6 CC=gcc-6 -j100 -C source O=/kbuild/obj/lkp/x86_64-rhel-7.2 ARCH=x86_64 M=tools/testing/nvdimm/
> make: Entering directory '/kbuild/src/lkp'
> make[1]: Entering directory '/kbuild/obj/lkp/x86_64-rhel-7.2'
>   LD      tools/testing/nvdimm//built-in.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/core.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/bus.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dimm.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/region_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/region.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dimm_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/label.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/namespace_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/btt_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/pfn_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/claim.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dax_devs.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/pmem.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/blk.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/e820.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/acpi/nfit/core.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/btt.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/acpi/nfit/mce.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/dax/dax.o
>   CC [M]  tools/testing/nvdimm//../../../drivers/dax/pmem.o
>   LD      tools/testing/nvdimm//test/built-in.o
>   CC [M]  tools/testing/nvdimm//test/nfit.o
>   CC [M]  tools/testing/nvdimm//test/iomap.o
>   LD [M]  tools/testing/nvdimm//test/nfit_test_iomap.o
>   LD [M]  tools/testing/nvdimm//test/nfit_test.o
> /kbuild/src/lkp/Makefile:1478: recipe for target '_module_tools/testing/nvdimm/' failed   <======

I was not able to reproduce this, I tried on Fedora 23 and Fedora 24
and both attempts succeeded.

[toc] | [prev] | [next] | [standalone]


#1469042 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-24 04:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s9wql-4qj-15@gated-at.bofh.it>
In reply to#1468979
On Tue, Aug 23, 2016 at 04:42:15PM -0700, Dan Williams wrote:
>On Mon, Aug 22, 2016 at 5:26 AM, Yilong Ren <yilongx.ren@intel.com> wrote:
>> Hi, Williams
>>
>> 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));
>>> }
>>
>> will get the following error info after set all above kconfig to be "m":
>> /kbuild/src/lkp/Makefile:1478: recipe for target '_module_tools/testing/nvdimm/' failed
>>
>> Would you please help to take a look? thanks.
>>
>> reproduce:
>>         git checkout 29b4817d4018df78086157ea3a55c1d9424a7cfc (v4.8-rc1)
>>         # save the attached .config to linux build tree
>>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 prepare
>>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 modules_prepare
>>     make HOSTCC=gcc-6 CC=gcc-6 ARCH=x86_64 M=tools/testing/nvdimm/
>>
>> error info:
>> /usr/bin/timeout -k 100 3h /usr/bin/make HOSTCC=gcc-6 CC=gcc-6 -j100 -C source O=/kbuild/obj/lkp/x86_64-rhel-7.2 ARCH=x86_64 M=tools/testing/nvdimm/
>> make: Entering directory '/kbuild/src/lkp'
>> make[1]: Entering directory '/kbuild/obj/lkp/x86_64-rhel-7.2'
>>   LD      tools/testing/nvdimm//built-in.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/core.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/bus.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dimm.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/region_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/region.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dimm_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/label.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/namespace_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/btt_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/pfn_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/claim.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/dax_devs.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/pmem.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/blk.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/e820.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/acpi/nfit/core.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/nvdimm/btt.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/acpi/nfit/mce.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/dax/dax.o
>>   CC [M]  tools/testing/nvdimm//../../../drivers/dax/pmem.o
>>   LD      tools/testing/nvdimm//test/built-in.o
>>   CC [M]  tools/testing/nvdimm//test/nfit.o
>>   CC [M]  tools/testing/nvdimm//test/iomap.o
>>   LD [M]  tools/testing/nvdimm//test/nfit_test_iomap.o
>>   LD [M]  tools/testing/nvdimm//test/nfit_test.o
>> /kbuild/src/lkp/Makefile:1478: recipe for target '_module_tools/testing/nvdimm/' failed   <======
>
>I was not able to reproduce this, I tried on Fedora 23 and Fedora 24
>and both attempts succeeded.

Hi Dan, it looks the error only happens with separated obj dir, when
KBUILD_OUTPUT or "-C .. O=.." is used in make command line.

Thanks,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1469518 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromDan Williams <dan.j.williams@intel.com>
Date2016-08-24 17:10 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s9HYu-3Yy-33@gated-at.bofh.it>
In reply to#1469042
On Tue, Aug 23, 2016 at 7:47 PM, Fengguang Wu <fengguang.wu@intel.com> wrote:
> On Tue, Aug 23, 2016 at 04:42:15PM -0700, Dan Williams wrote:
>> I was not able to reproduce this, I tried on Fedora 23 and Fedora 24
>> and both attempts succeeded.
>
>
> Hi Dan, it looks the error only happens with separated obj dir, when
> KBUILD_OUTPUT or "-C .. O=.." is used in make command line.

The following worked for me, what am I missing?

$ make -j 64 O=$HOME/git/obj 2>out; make -j 64 O=$HOME/git/obj
M=tools/testing/nvdimm 2>>out;

[toc] | [prev] | [next] | [standalone]


#1469816 — Re: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.

FromFengguang Wu <fengguang.wu@intel.com>
Date2016-08-25 06:50 +0200
SubjectRe: [kbuild-all] make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//dax.o'.
Message-ID<s9UM2-4BL-1@gated-at.bofh.it>
In reply to#1469518
On Wed, Aug 24, 2016 at 07:59:05AM -0700, Dan Williams wrote:
>On Tue, Aug 23, 2016 at 7:47 PM, Fengguang Wu <fengguang.wu@intel.com> wrote:
>> On Tue, Aug 23, 2016 at 04:42:15PM -0700, Dan Williams wrote:
>>> I was not able to reproduce this, I tried on Fedora 23 and Fedora 24
>>> and both attempts succeeded.
>>
>>
>> Hi Dan, it looks the error only happens with separated obj dir, when
>> KBUILD_OUTPUT or "-C .. O=.." is used in make command line.
>
>The following worked for me, what am I missing?
>
>$ make -j 64 O=$HOME/git/obj 2>out; make -j 64 O=$HOME/git/obj
>M=tools/testing/nvdimm 2>>out;

In 0day builds, $PWD is the obj dir and so we used "-C" too:

        wfg@inn ~/linux/obj-compiletest% ls -l source
        lrwxrwxrwx 1 wfg wfg 2 Aug 24 10:40 source -> ..

        wfg@inn ~/linux/obj-compiletest% make M=tools/testing/nvdimm/
==>     /usr/bin/make -C source O=/home/wfg/linux/obj-compiletest ARCH=x86_64 -j32 M=tools/testing/nvdimm/
        make: Entering directory '/c/wfg/linux'
        make[1]: Entering directory '/c/wfg/linux/obj-compiletest'
        make[2]: *** No rule to make target 'tools/testing/nvdimm//config_check.o', needed by 'tools/testing/nvdimm//libnvdimm.o'.  Stop.
        /c/wfg/linux/Makefile:1478: recipe for target '_module_tools/testing/nvdimm/' failed
        make[1]: *** [_module_tools/testing/nvdimm/] Error 2
        make[1]: Leaving directory '/c/wfg/linux/obj-compiletest'
        Makefile:150: recipe for target 'sub-make' failed
        make: *** [sub-make] Error 2
        make: Leaving directory '/c/wfg/linux'

Thanks,
Fengguang

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web