* [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.