Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1462689 > unrolled thread
| Started by | kbuild test robot <fengguang.wu@intel.com> |
|---|---|
| First post | 2016-08-15 12:10 +0200 |
| Last post | 2016-08-25 06:50 +0200 |
| Articles | 17 — 4 participants |
Back to article view | Back to linux.kernel
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
| From | kbuild test robot <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-15 12:10 +0200 |
| Subject | make[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]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-08-16 03:00 +0200 |
| Subject | Re: 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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-16 03:30 +0200 |
| Subject | Re: [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]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-08-16 03:40 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-16 03:40 +0200 |
| Subject | Re: [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]
| From | Yilong Ren <yilongx.ren@intel.com> |
|---|---|
| Date | 2016-08-16 03:50 +0200 |
| Subject | Re: [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]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-08-16 03:50 +0200 |
| Subject | Re: [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]
| From | Yilong Ren <yilongx.ren@intel.com> |
|---|---|
| Date | 2016-08-16 03:50 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-16 04:00 +0200 |
| Subject | Re: [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]
| From | Yilong Ren <yilongx.ren@intel.com> |
|---|---|
| Date | 2016-08-16 04:20 +0200 |
| Subject | Re: [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]
| From | Yilong Ren <yilongx.ren@intel.com> |
|---|---|
| Date | 2016-08-16 04:40 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-16 04:40 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-16 03:50 +0200 |
| Subject | Re: [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]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-08-24 01:50 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-24 04:50 +0200 |
| Subject | Re: [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]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-08-24 17:10 +0200 |
| Subject | Re: [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]
| From | Fengguang Wu <fengguang.wu@intel.com> |
|---|---|
| Date | 2016-08-25 06:50 +0200 |
| Subject | Re: [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