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