All of lore.kernel.org
 help / color / mirror / Atom feed
* [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
@ 2020-03-25 10:57 He Zhe
  2020-03-25 15:30 ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: He Zhe @ 2020-03-25 10:57 UTC (permalink / raw)
  To: openembedded-devel

From: He Zhe <zhe.he@windriver.com>

To fix the following build failures
turbostat.c:(.text+0xc28a): undefined reference to `UL'
turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)

- Add dependency on libcap for kernel v5.6-rc7 and later versions
- Copy internal linux/const.h used by previously added internal linux/bits.h
- Tweak linux/const.h to allow it to refer to uapi const.h, as
  linux-libc-headers purposely removes _UAPI from the locker macros of the
  headers
- Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
  provided enough and necessary headers

Signed-off-by: He Zhe <zhe.he@windriver.com>
---
 meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
index 5f6588d..d2694b8 100644
--- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
+++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
@@ -21,7 +21,7 @@ SRC_URI += "\
             "
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS = "virtual/kernel"
+DEPENDS = "virtual/kernel libcap"
 
 # This looks in S, so we better make sure there's
 # something in the directory.
@@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
 
 
 EXTRA_OEMAKE = '\
-                CC="${CC}" \
-		'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
+                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
                '
 
 # If we build under STAGING_KERNEL_DIR, source will not be put
@@ -43,12 +42,15 @@ do_configure_prepend() {
 	cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
 	cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
 	cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
+	cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
 	cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
 	cp -r ${WORKDIR}/COPYING ${S}
 }
 
 do_compile() {
 	sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
+	sed -i 's#<linux/const.h>#"const.h"#' bits.h
+	sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
 	sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
 	sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
 	sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
-- 
2.7.4


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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-25 10:57 [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up He Zhe
@ 2020-03-25 15:30 ` Khem Raj
  2020-03-26  5:10   ` He Zhe
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2020-03-25 15:30 UTC (permalink / raw)
  To: He Zhe; +Cc: openembeded-devel

Fails build on qemux86

https://errors.yoctoproject.org/Errors/Details/398664/

On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
>
> From: He Zhe <zhe.he@windriver.com>
>
> To fix the following build failures
> turbostat.c:(.text+0xc28a): undefined reference to `UL'
> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
>
> - Add dependency on libcap for kernel v5.6-rc7 and later versions
> - Copy internal linux/const.h used by previously added internal linux/bits.h
> - Tweak linux/const.h to allow it to refer to uapi const.h, as
>   linux-libc-headers purposely removes _UAPI from the locker macros of the
>   headers
> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
>   provided enough and necessary headers
>
> Signed-off-by: He Zhe <zhe.he@windriver.com>
> ---
>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> index 5f6588d..d2694b8 100644
> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> @@ -21,7 +21,7 @@ SRC_URI += "\
>              "
>
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> -DEPENDS = "virtual/kernel"
> +DEPENDS = "virtual/kernel libcap"
>
>  # This looks in S, so we better make sure there's
>  # something in the directory.
> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
>
>
>  EXTRA_OEMAKE = '\
> -                CC="${CC}" \
> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
>                 '
>
>  # If we build under STAGING_KERNEL_DIR, source will not be put
> @@ -43,12 +42,15 @@ do_configure_prepend() {
>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
>         cp -r ${WORKDIR}/COPYING ${S}
>  }
>
>  do_compile() {
>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
> --
> 2.7.4
>
> 

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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-25 15:30 ` Khem Raj
@ 2020-03-26  5:10   ` He Zhe
  2020-03-26  7:38     ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: He Zhe @ 2020-03-26  5:10 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel



On 3/25/20 11:30 PM, Khem Raj wrote:
> Fails build on qemux86
>
> https://errors.yoctoproject.org/Errors/Details/398664/

Hi Raj,

I cannot reproduce this failurewith poky(master branch) + meta-openembedded(master branch).

Looking at the reported error,
'TOPDIR/build/tmp/work-shared/qemux86/kernel-source/arch/x86/include/asm/msr-index.h': No such file or directory
the TOPDIR, part of STAGING_KERNEL_DIR, is not evaluated, strange.

Where can I find the exact reproduction steps? Thanks.

Zhe

>
> On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
>> From: He Zhe <zhe.he@windriver.com>
>>
>> To fix the following build failures
>> turbostat.c:(.text+0xc28a): undefined reference to `UL'
>> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
>>
>> - Add dependency on libcap for kernel v5.6-rc7 and later versions
>> - Copy internal linux/const.h used by previously added internal linux/bits.h
>> - Tweak linux/const.h to allow it to refer to uapi const.h, as
>>   linux-libc-headers purposely removes _UAPI from the locker macros of the
>>   headers
>> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
>>   provided enough and necessary headers
>>
>> Signed-off-by: He Zhe <zhe.he@windriver.com>
>> ---
>>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>> index 5f6588d..d2694b8 100644
>> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>> @@ -21,7 +21,7 @@ SRC_URI += "\
>>              "
>>
>>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>> -DEPENDS = "virtual/kernel"
>> +DEPENDS = "virtual/kernel libcap"
>>
>>  # This looks in S, so we better make sure there's
>>  # something in the directory.
>> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
>>
>>
>>  EXTRA_OEMAKE = '\
>> -                CC="${CC}" \
>> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
>> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
>>                 '
>>
>>  # If we build under STAGING_KERNEL_DIR, source will not be put
>> @@ -43,12 +42,15 @@ do_configure_prepend() {
>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
>>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
>> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
>>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
>>         cp -r ${WORKDIR}/COPYING ${S}
>>  }
>>
>>  do_compile() {
>>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
>> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
>> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
>>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
>>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
>>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
>> --
>> 2.7.4
>>
>> 


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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-26  5:10   ` He Zhe
@ 2020-03-26  7:38     ` Khem Raj
  2020-03-26  8:38       ` He Zhe
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2020-03-26  7:38 UTC (permalink / raw)
  To: He Zhe; +Cc: openembeded-devel

On Wed, Mar 25, 2020 at 10:11 PM He Zhe <zhe.he@windriver.com> wrote:
>
>
>
> On 3/25/20 11:30 PM, Khem Raj wrote:
> > Fails build on qemux86
> >
> > https://errors.yoctoproject.org/Errors/Details/398664/
>
> Hi Raj,
>
> I cannot reproduce this failurewith poky(master branch) + meta-openembedded(master branch).
>
> Looking at the reported error,
> 'TOPDIR/build/tmp/work-shared/qemux86/kernel-source/arch/x86/include/asm/msr-index.h': No such file or directory
> the TOPDIR, part of STAGING_KERNEL_DIR, is not evaluated, strange.
>
> Where can I find the exact reproduction steps? Thanks.
>

its listed here http://errors.yoctoproject.org/Errors/Details/398850/

Use master-next branch of poky and MACHINE=qemux86-64

> Zhe
>
> >
> > On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
> >> From: He Zhe <zhe.he@windriver.com>
> >>
> >> To fix the following build failures
> >> turbostat.c:(.text+0xc28a): undefined reference to `UL'
> >> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
> >>
> >> - Add dependency on libcap for kernel v5.6-rc7 and later versions
> >> - Copy internal linux/const.h used by previously added internal linux/bits.h
> >> - Tweak linux/const.h to allow it to refer to uapi const.h, as
> >>   linux-libc-headers purposely removes _UAPI from the locker macros of the
> >>   headers
> >> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
> >>   provided enough and necessary headers
> >>
> >> Signed-off-by: He Zhe <zhe.he@windriver.com>
> >> ---
> >>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
> >>  1 file changed, 5 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >> index 5f6588d..d2694b8 100644
> >> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >> @@ -21,7 +21,7 @@ SRC_URI += "\
> >>              "
> >>
> >>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> >> -DEPENDS = "virtual/kernel"
> >> +DEPENDS = "virtual/kernel libcap"
> >>
> >>  # This looks in S, so we better make sure there's
> >>  # something in the directory.
> >> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
> >>
> >>
> >>  EXTRA_OEMAKE = '\
> >> -                CC="${CC}" \
> >> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
> >> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
> >>                 '
> >>
> >>  # If we build under STAGING_KERNEL_DIR, source will not be put
> >> @@ -43,12 +42,15 @@ do_configure_prepend() {
> >>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
> >>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
> >>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
> >> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
> >>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
> >>         cp -r ${WORKDIR}/COPYING ${S}
> >>  }
> >>
> >>  do_compile() {
> >>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
> >> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
> >> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
> >>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
> >>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
> >>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
> >> --
> >> 2.7.4
> >>
> >> 
>

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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-26  7:38     ` Khem Raj
@ 2020-03-26  8:38       ` He Zhe
  2020-03-26 17:06         ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: He Zhe @ 2020-03-26  8:38 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel



On 3/26/20 3:38 PM, Khem Raj wrote:
> On Wed, Mar 25, 2020 at 10:11 PM He Zhe <zhe.he@windriver.com> wrote:
>>
>>
>> On 3/25/20 11:30 PM, Khem Raj wrote:
>>> Fails build on qemux86
>>>
>>> https://errors.yoctoproject.org/Errors/Details/398664/
>> Hi Raj,
>>
>> I cannot reproduce this failurewith poky(master branch) + meta-openembedded(master branch).
>>
>> Looking at the reported error,
>> 'TOPDIR/build/tmp/work-shared/qemux86/kernel-source/arch/x86/include/asm/msr-index.h': No such file or directory
>> the TOPDIR, part of STAGING_KERNEL_DIR, is not evaluated, strange.
>>
>> Where can I find the exact reproduction steps? Thanks.
>>
> its listed here http://errors.yoctoproject.org/Errors/Details/398850/
>
> Use master-next branch of poky and MACHINE=qemux86-64

I've tried with the following config,
git://git.yoctoproject.org/poky on master-next
git://git.openembedded.org/meta-openembedded on master-next
MACHINE=qemux86-64

But I still cannot reproduce it. Anything that might still be missing here?

And it seems it's not turbostat's recipe who makes "TOPDIR" not evaluated.


Zhe

>
>> Zhe
>>
>>> On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
>>>> From: He Zhe <zhe.he@windriver.com>
>>>>
>>>> To fix the following build failures
>>>> turbostat.c:(.text+0xc28a): undefined reference to `UL'
>>>> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
>>>>
>>>> - Add dependency on libcap for kernel v5.6-rc7 and later versions
>>>> - Copy internal linux/const.h used by previously added internal linux/bits.h
>>>> - Tweak linux/const.h to allow it to refer to uapi const.h, as
>>>>   linux-libc-headers purposely removes _UAPI from the locker macros of the
>>>>   headers
>>>> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
>>>>   provided enough and necessary headers
>>>>
>>>> Signed-off-by: He Zhe <zhe.he@windriver.com>
>>>> ---
>>>>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
>>>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>> index 5f6588d..d2694b8 100644
>>>> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>> @@ -21,7 +21,7 @@ SRC_URI += "\
>>>>              "
>>>>
>>>>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>>>> -DEPENDS = "virtual/kernel"
>>>> +DEPENDS = "virtual/kernel libcap"
>>>>
>>>>  # This looks in S, so we better make sure there's
>>>>  # something in the directory.
>>>> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
>>>>
>>>>
>>>>  EXTRA_OEMAKE = '\
>>>> -                CC="${CC}" \
>>>> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
>>>> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
>>>>                 '
>>>>
>>>>  # If we build under STAGING_KERNEL_DIR, source will not be put
>>>> @@ -43,12 +42,15 @@ do_configure_prepend() {
>>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
>>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
>>>>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
>>>> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
>>>>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
>>>>         cp -r ${WORKDIR}/COPYING ${S}
>>>>  }
>>>>
>>>>  do_compile() {
>>>>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
>>>> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
>>>> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
>>>>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
>>>>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
>>>>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
>>>> --
>>>> 2.7.4
>>>>
>>>> 


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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-26  8:38       ` He Zhe
@ 2020-03-26 17:06         ` Khem Raj
  2020-03-27  3:53           ` He Zhe
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2020-03-26 17:06 UTC (permalink / raw)
  To: He Zhe; +Cc: openembeded-devel

On Thu, Mar 26, 2020 at 1:39 AM He Zhe <zhe.he@windriver.com> wrote:
>
>
>
> On 3/26/20 3:38 PM, Khem Raj wrote:
> > On Wed, Mar 25, 2020 at 10:11 PM He Zhe <zhe.he@windriver.com> wrote:
> >>
> >>
> >> On 3/25/20 11:30 PM, Khem Raj wrote:
> >>> Fails build on qemux86
> >>>
> >>> https://errors.yoctoproject.org/Errors/Details/398664/
> >> Hi Raj,
> >>
> >> I cannot reproduce this failurewith poky(master branch) + meta-openembedded(master branch).
> >>
> >> Looking at the reported error,
> >> 'TOPDIR/build/tmp/work-shared/qemux86/kernel-source/arch/x86/include/asm/msr-index.h': No such file or directory
> >> the TOPDIR, part of STAGING_KERNEL_DIR, is not evaluated, strange.
> >>
> >> Where can I find the exact reproduction steps? Thanks.
> >>
> > its listed here http://errors.yoctoproject.org/Errors/Details/398850/
> >
> > Use master-next branch of poky and MACHINE=qemux86-64
>
> I've tried with the following config,
> git://git.yoctoproject.org/poky on master-next
> git://git.openembedded.org/meta-openembedded on master-next
> MACHINE=qemux86-64
>
> But I still cannot reproduce it. Anything that might still be missing here?
>
> And it seems it's not turbostat's recipe who makes "TOPDIR" not evaluated.
>

TOPDIR in those logs is a replacement to hide the build paths by error
server. Don't get confused by it.
can you try this

bitbake turbostat && rm -rf build/tmp && bitbake -ccleansstate
turbostat && bitbake turbostat

>
> Zhe
>
> >
> >> Zhe
> >>
> >>> On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
> >>>> From: He Zhe <zhe.he@windriver.com>
> >>>>
> >>>> To fix the following build failures
> >>>> turbostat.c:(.text+0xc28a): undefined reference to `UL'
> >>>> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
> >>>>
> >>>> - Add dependency on libcap for kernel v5.6-rc7 and later versions
> >>>> - Copy internal linux/const.h used by previously added internal linux/bits.h
> >>>> - Tweak linux/const.h to allow it to refer to uapi const.h, as
> >>>>   linux-libc-headers purposely removes _UAPI from the locker macros of the
> >>>>   headers
> >>>> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
> >>>>   provided enough and necessary headers
> >>>>
> >>>> Signed-off-by: He Zhe <zhe.he@windriver.com>
> >>>> ---
> >>>>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
> >>>>  1 file changed, 5 insertions(+), 3 deletions(-)
> >>>>
> >>>> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >>>> index 5f6588d..d2694b8 100644
> >>>> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >>>> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> >>>> @@ -21,7 +21,7 @@ SRC_URI += "\
> >>>>              "
> >>>>
> >>>>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> >>>> -DEPENDS = "virtual/kernel"
> >>>> +DEPENDS = "virtual/kernel libcap"
> >>>>
> >>>>  # This looks in S, so we better make sure there's
> >>>>  # something in the directory.
> >>>> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
> >>>>
> >>>>
> >>>>  EXTRA_OEMAKE = '\
> >>>> -                CC="${CC}" \
> >>>> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
> >>>> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
> >>>>                 '
> >>>>
> >>>>  # If we build under STAGING_KERNEL_DIR, source will not be put
> >>>> @@ -43,12 +42,15 @@ do_configure_prepend() {
> >>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
> >>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
> >>>>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
> >>>> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
> >>>>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
> >>>>         cp -r ${WORKDIR}/COPYING ${S}
> >>>>  }
> >>>>
> >>>>  do_compile() {
> >>>>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
> >>>> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
> >>>> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
> >>>>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
> >>>>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
> >>>>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
> >>>> --
> >>>> 2.7.4
> >>>>
> >>>> 
>

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

* Re: [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up
  2020-03-26 17:06         ` Khem Raj
@ 2020-03-27  3:53           ` He Zhe
  0 siblings, 0 replies; 7+ messages in thread
From: He Zhe @ 2020-03-27  3:53 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel



On 3/27/20 1:06 AM, Khem Raj wrote:
> On Thu, Mar 26, 2020 at 1:39 AM He Zhe <zhe.he@windriver.com> wrote:
>>
>>
>> On 3/26/20 3:38 PM, Khem Raj wrote:
>>> On Wed, Mar 25, 2020 at 10:11 PM He Zhe <zhe.he@windriver.com> wrote:
>>>>
>>>> On 3/25/20 11:30 PM, Khem Raj wrote:
>>>>> Fails build on qemux86
>>>>>
>>>>> https://errors.yoctoproject.org/Errors/Details/398664/
>>>> Hi Raj,
>>>>
>>>> I cannot reproduce this failurewith poky(master branch) + meta-openembedded(master branch).
>>>>
>>>> Looking at the reported error,
>>>> 'TOPDIR/build/tmp/work-shared/qemux86/kernel-source/arch/x86/include/asm/msr-index.h': No such file or directory
>>>> the TOPDIR, part of STAGING_KERNEL_DIR, is not evaluated, strange.
>>>>
>>>> Where can I find the exact reproduction steps? Thanks.
>>>>
>>> its listed here http://errors.yoctoproject.org/Errors/Details/398850/
>>>
>>> Use master-next branch of poky and MACHINE=qemux86-64
>> I've tried with the following config,
>> git://git.yoctoproject.org/poky on master-next
>> git://git.openembedded.org/meta-openembedded on master-next
>> MACHINE=qemux86-64
>>
>> But I still cannot reproduce it. Anything that might still be missing here?
>>
>> And it seems it's not turbostat's recipe who makes "TOPDIR" not evaluated.
>>
> TOPDIR in those logs is a replacement to hide the build paths by error
> server. Don't get confused by it.
> can you try this
>
> bitbake turbostat && rm -rf build/tmp && bitbake -ccleansstate
> turbostat && bitbake turbostat

Thanks, I really didn't run these steps.

v2 will be sent.

Zhe

>
>> Zhe
>>
>>>> Zhe
>>>>
>>>>> On Wed, Mar 25, 2020 at 3:57 AM He Zhe <zhe.he@windriver.com> wrote:
>>>>>> From: He Zhe <zhe.he@windriver.com>
>>>>>>
>>>>>> To fix the following build failures
>>>>>> turbostat.c:(.text+0xc28a): undefined reference to `UL'
>>>>>> turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
>>>>>>
>>>>>> - Add dependency on libcap for kernel v5.6-rc7 and later versions
>>>>>> - Copy internal linux/const.h used by previously added internal linux/bits.h
>>>>>> - Tweak linux/const.h to allow it to refer to uapi const.h, as
>>>>>>   linux-libc-headers purposely removes _UAPI from the locker macros of the
>>>>>>   headers
>>>>>> - Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
>>>>>>   provided enough and necessary headers
>>>>>>
>>>>>> Signed-off-by: He Zhe <zhe.he@windriver.com>
>>>>>> ---
>>>>>>  meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 8 +++++---
>>>>>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>>>>>
>>>>>> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>>>> index 5f6588d..d2694b8 100644
>>>>>> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>>>> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
>>>>>> @@ -21,7 +21,7 @@ SRC_URI += "\
>>>>>>              "
>>>>>>
>>>>>>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>>>>>> -DEPENDS = "virtual/kernel"
>>>>>> +DEPENDS = "virtual/kernel libcap"
>>>>>>
>>>>>>  # This looks in S, so we better make sure there's
>>>>>>  # something in the directory.
>>>>>> @@ -30,8 +30,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
>>>>>>
>>>>>>
>>>>>>  EXTRA_OEMAKE = '\
>>>>>> -                CC="${CC}" \
>>>>>> -               'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
>>>>>> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
>>>>>>                 '
>>>>>>
>>>>>>  # If we build under STAGING_KERNEL_DIR, source will not be put
>>>>>> @@ -43,12 +42,15 @@ do_configure_prepend() {
>>>>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
>>>>>>         cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
>>>>>>         cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
>>>>>> +       cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
>>>>>>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
>>>>>>         cp -r ${WORKDIR}/COPYING ${S}
>>>>>>  }
>>>>>>
>>>>>>  do_compile() {
>>>>>>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
>>>>>> +       sed -i 's#<linux/const.h>#"const.h"#' bits.h
>>>>>> +       sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
>>>>>>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
>>>>>>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
>>>>>>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
>>>>>> --
>>>>>> 2.7.4
>>>>>>
>>>>>> 


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

end of thread, other threads:[~2020-03-27  3:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-25 10:57 [oe][meta-oe][PATCH] turbostat: Fix build failure for missing kernel internal heaers and clean up He Zhe
2020-03-25 15:30 ` Khem Raj
2020-03-26  5:10   ` He Zhe
2020-03-26  7:38     ` Khem Raj
2020-03-26  8:38       ` He Zhe
2020-03-26 17:06         ` Khem Raj
2020-03-27  3:53           ` He Zhe

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