libical: Pass TOOLCHAIN_OPTIONS via CFLAGS

Message ID 20220301041346.1703440-1-raj.khem@gmail.com
State Accepted, archived
Commit feb8893e0f52c7ab2d5efd456901a2bb91839d44
Headers show
Series libical: Pass TOOLCHAIN_OPTIONS via CFLAGS | expand

Commit Message

Khem Raj March 1, 2022, 4:13 a.m. UTC
This ensures that right sysroot is used during build, otherwise we see
warnings in build about using wrong sysroot and it fails explicitly with
clang

x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6
4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation

x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc
lang_rt.builtins-x86_64.a: No such file or directory

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-support/libical/libical_3.0.14.bb | 2 ++
 1 file changed, 2 insertions(+)

Comments

Richard Purdie March 3, 2022, 10:53 p.m. UTC | #1
On Mon, 2022-02-28 at 20:13 -0800, Khem Raj wrote:
> This ensures that right sysroot is used during build, otherwise we see
> warnings in build about using wrong sysroot and it fails explicitly with
> clang
> 
> x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6
> 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation
> 
> x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc
> lang_rt.builtins-x86_64.a: No such file or directory
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-support/libical/libical_3.0.14.bb | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/recipes-support/libical/libical_3.0.14.bb b/meta/recipes-support/libical/libical_3.0.14.bb
> index 717eb11e125..879ad8ed595 100644
> --- a/meta/recipes-support/libical/libical_3.0.14.bb
> +++ b/meta/recipes-support/libical/libical_3.0.14.bb
> @@ -18,6 +18,8 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
>  
>  inherit cmake pkgconfig gobject-introspection vala
>  
> +CFLAGS += "${TOOLCHAIN_OPTIONS}"
> +
>  DEPENDS += "libical-native"
>  
>  PACKAGECONFIG ??= "icu glib"


I gave this (and the cmake patch) a go and whilst it mostly worked, it doesn't
work on arm (qemuarm or beaglebone):

https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/4855
https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/3774
https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/4829
https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/3715
https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/4825

Any ideas?

Cheers,

Richard
Khem Raj March 3, 2022, 11:05 p.m. UTC | #2
On Thu, Mar 3, 2022 at 2:53 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Mon, 2022-02-28 at 20:13 -0800, Khem Raj wrote:
> > This ensures that right sysroot is used during build, otherwise we see
> > warnings in build about using wrong sysroot and it fails explicitly with
> > clang
> >
> > x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6
> > 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation
> >
> > x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc
> > lang_rt.builtins-x86_64.a: No such file or directory
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  meta/recipes-support/libical/libical_3.0.14.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-support/libical/libical_3.0.14.bb b/meta/recipes-support/libical/libical_3.0.14.bb
> > index 717eb11e125..879ad8ed595 100644
> > --- a/meta/recipes-support/libical/libical_3.0.14.bb
> > +++ b/meta/recipes-support/libical/libical_3.0.14.bb
> > @@ -18,6 +18,8 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
> >
> >  inherit cmake pkgconfig gobject-introspection vala
> >
> > +CFLAGS += "${TOOLCHAIN_OPTIONS}"
> > +
> >  DEPENDS += "libical-native"
> >
> >  PACKAGECONFIG ??= "icu glib"
>
>
> I gave this (and the cmake patch) a go and whilst it mostly worked, it doesn't
> work on arm (qemuarm or beaglebone):
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/4855
> https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/3774
> https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/4829
> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/3715
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/4825
>
> Any ideas?

I think we need to check why CC is being passed here from env
explicitly when invoking g-ir-scanner-wrapper, which is bare compiler
without TOOLCHAIN_OPTIONS and this cmd seems to not
respect CFLAGS

| [95/112] cd /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical
&& /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/cmake
-E env "CC='/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc'"
/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot/usr/bin/g-ir-scanner-wrapper
--c-include=libical/ical.h --pkg-export libical
--identifier-prefix=ical
-I/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/libical-3.0.14/src/libical
/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ical.h
--namespace=ICal --nsversion=3.0 --no-libtool --library=ical
--include=GObject-2.0
-L/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/lib
--output /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ICal-3.0.gir
--accept-unprefixed

I will take a look later today.

btw. is this the only failure left ?

>
> Cheers,
>
> Richard
>
Richard Purdie March 3, 2022, 11:15 p.m. UTC | #3
On Thu, 2022-03-03 at 15:05 -0800, Khem Raj wrote:
> On Thu, Mar 3, 2022 at 2:53 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Mon, 2022-02-28 at 20:13 -0800, Khem Raj wrote:
> > > This ensures that right sysroot is used during build, otherwise we see
> > > warnings in build about using wrong sysroot and it fails explicitly with
> > > clang
> > > 
> > > x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6
> > > 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation
> > > 
> > > x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc
> > > lang_rt.builtins-x86_64.a: No such file or directory
> > > 
> > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > ---
> > >  meta/recipes-support/libical/libical_3.0.14.bb | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/meta/recipes-support/libical/libical_3.0.14.bb b/meta/recipes-support/libical/libical_3.0.14.bb
> > > index 717eb11e125..879ad8ed595 100644
> > > --- a/meta/recipes-support/libical/libical_3.0.14.bb
> > > +++ b/meta/recipes-support/libical/libical_3.0.14.bb
> > > @@ -18,6 +18,8 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
> > > 
> > >  inherit cmake pkgconfig gobject-introspection vala
> > > 
> > > +CFLAGS += "${TOOLCHAIN_OPTIONS}"
> > > +
> > >  DEPENDS += "libical-native"
> > > 
> > >  PACKAGECONFIG ??= "icu glib"
> > 
> > 
> > I gave this (and the cmake patch) a go and whilst it mostly worked, it doesn't
> > work on arm (qemuarm or beaglebone):
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/4855
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/3774
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/4829
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/3715
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/4825
> > 
> > Any ideas?
> 
> I think we need to check why CC is being passed here from env
> explicitly when invoking g-ir-scanner-wrapper, which is bare compiler
> without TOOLCHAIN_OPTIONS and this cmd seems to not
> respect CFLAGS
> 
> > [95/112] cd /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical
> && /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/cmake
> -E env "CC='/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc'"
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot/usr/bin/g-ir-scanner-wrapper
> --c-include=libical/ical.h --pkg-export libical
> --identifier-prefix=ical
> -I/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/libical-3.0.14/src/libical
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ical.h
> --namespace=ICal --nsversion=3.0 --no-libtool --library=ical
> --include=GObject-2.0
> -L/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/lib
> --output /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ICal-3.0.gir
> --accept-unprefixed
> 
> I will take a look later today.

Thanks, I'll be asleep shortly I hope! :)

> 
> btw. is this the only failure left ?
> 

For that patch in core, yes, I think so.

Cheers,

Richard

>
Jose Quaresma March 4, 2022, 8:38 a.m. UTC | #4
Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia quinta,
3/03/2022 à(s) 23:15:

> On Thu, 2022-03-03 at 15:05 -0800, Khem Raj wrote:
> > On Thu, Mar 3, 2022 at 2:53 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Mon, 2022-02-28 at 20:13 -0800, Khem Raj wrote:
> > > > This ensures that right sysroot is used during build, otherwise we
> see
> > > > warnings in build about using wrong sysroot and it fails explicitly
> with
> > > > clang
> > > >
> > > > x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6
> > > > 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for
> cross-compilation
> > > >
> > > > x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc
> > > > lang_rt.builtins-x86_64.a: No such file or directory
> > > >
> > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > > ---
> > > >  meta/recipes-support/libical/libical_3.0.14.bb | 2 ++
> > > >  1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/meta/recipes-support/libical/libical_3.0.14.bb
> b/meta/recipes-support/libical/libical_3.0.14.bb
> > > > index 717eb11e125..879ad8ed595 100644
> > > > --- a/meta/recipes-support/libical/libical_3.0.14.bb
> > > > +++ b/meta/recipes-support/libical/libical_3.0.14.bb
> > > > @@ -18,6 +18,8 @@ UPSTREAM_CHECK_URI = "
> https://github.com/libical/libical/releases"
> > > >
> > > >  inherit cmake pkgconfig gobject-introspection vala
> > > >
> > > > +CFLAGS += "${TOOLCHAIN_OPTIONS}"
> > > > +
> > > >  DEPENDS += "libical-native"
> > > >
> > > >  PACKAGECONFIG ??= "icu glib"
> > >
> > >
> > > I gave this (and the cmake patch) a go and whilst it mostly worked, it
> doesn't
> > > work on arm (qemuarm or beaglebone):
> > >
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/4855
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/3774
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/4829
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/3715
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/4825
> > >
> > > Any ideas?
> >
> > I think we need to check why CC is being passed here from env
> > explicitly when invoking g-ir-scanner-wrapper, which is bare compiler
> > without TOOLCHAIN_OPTIONS and this cmd seems to not
> > respect CFLAGS
>

I will take a look in the weekend.

Jose


> >
> > > [95/112] cd
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical
> > &&
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/cmake
> > -E env
> "CC='/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc'"
> >
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/recipe-sysroot/usr/bin/g-ir-scanner-wrapper
> > --c-include=libical/ical.h --pkg-export libical
> > --identifier-prefix=ical
> >
> -I/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/libical-3.0.14/src/libical
> >
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ical.h
> > --namespace=ICal --nsversion=3.0 --no-libtool --library=ical
> > --include=GObject-2.0
> >
> -L/home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/lib
> > --output
> /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libical/3.0.14-r0/build/src/libical/ICal-3.0.gir
> > --accept-unprefixed
> >
> > I will take a look later today.
>
> Thanks, I'll be asleep shortly I hope! :)
>
> >
> > btw. is this the only failure left ?
> >
>
> For that patch in core, yes, I think so.
>
> Cheers,
>
> Richard
>
> >
>
>

Patch

diff --git a/meta/recipes-support/libical/libical_3.0.14.bb b/meta/recipes-support/libical/libical_3.0.14.bb
index 717eb11e125..879ad8ed595 100644
--- a/meta/recipes-support/libical/libical_3.0.14.bb
+++ b/meta/recipes-support/libical/libical_3.0.14.bb
@@ -18,6 +18,8 @@  UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
 
 inherit cmake pkgconfig gobject-introspection vala
 
+CFLAGS += "${TOOLCHAIN_OPTIONS}"
+
 DEPENDS += "libical-native"
 
 PACKAGECONFIG ??= "icu glib"