All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
@ 2022-01-12 20:39 James Hilliard
  2022-01-13 19:44 ` Thomas Petazzoni
  2022-01-15 22:37 ` Peter Seiderer
  0 siblings, 2 replies; 9+ messages in thread
From: James Hilliard @ 2022-01-12 20:39 UTC (permalink / raw)
  To: buildroot; +Cc: James Hilliard, Peter Seiderer, Julien Corjon

Currently the qmake gcc sysrootify path logic causes issues with
per-package directories, disable automatic gcc sysroot for qt5base
install and override all qt.conf paths manually to point to their
correct locations.

Redirect HostData to STAGING_DIR as mkspecs need to be available there
instead of the HOST_DIR for cross compilation to work.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
 package/qt5/qt5base/qt5base.mk |  2 ++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
index 2215cbd4e1..db9ab0c364 100644
--- a/package/qt5/qt5base/qt.conf.in
+++ b/package/qt5/qt5base/qt.conf.in
@@ -2,6 +2,18 @@
 Prefix=/usr
 HostPrefix=@@HOST_DIR@@
 Sysroot=@@STAGING_DIR@@
-Headers=/usr/include/qt5
-Plugins=/usr/lib/qt/plugins
-Examples=/usr/lib/qt/examples
+SysrootifyPrefix=false
+Binaries=@@STAGING_DIR@@/usr/bin
+Libraries=@@STAGING_DIR@@/usr/lib
+Headers=@@STAGING_DIR@@/usr/include/qt5
+Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
+Examples=@@STAGING_DIR@@/usr/lib/qt/examples
+Data=@@STAGING_DIR@@
+Translations=@@STAGING_DIR@@/translations
+ArchData=@@STAGING_DIR@@/usr
+LibraryExecutables=@@STAGING_DIR@@/usr/libexec
+Imports=@@STAGING_DIR@@/usr/imports
+Qml2Imports=@@STAGING_DIR@@/usr/qml
+HostBinaries=@@HOST_DIR@@/bin
+HostLibraries=@@HOST_DIR@@/lib
+HostData=@@STAGING_DIR@@
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index bcdf036f00..6c05e710d8 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
 		-v \
 		-prefix /usr \
 		-hostprefix $(HOST_DIR) \
+		-hostdatadir $(STAGING_DIR) \
 		-headerdir /usr/include/qt5 \
 		-sysroot $(STAGING_DIR) \
+		-no-gcc-sysroot \
 		-plugindir /usr/lib/qt/plugins \
 		-examplesdir /usr/lib/qt/examples \
 		-no-rpath \
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-12 20:39 [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify James Hilliard
@ 2022-01-13 19:44 ` Thomas Petazzoni
  2022-01-14  4:51   ` James Hilliard
  2022-01-15 22:37 ` Peter Seiderer
  1 sibling, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2022-01-13 19:44 UTC (permalink / raw)
  To: James Hilliard; +Cc: Peter Seiderer, Julien Corjon, buildroot

Hello James,

On Wed, 12 Jan 2022 13:39:39 -0700
James Hilliard <james.hilliard1@gmail.com> wrote:

> Currently the qmake gcc sysrootify path logic causes issues with
> per-package directories, disable automatic gcc sysroot for qt5base
> install and override all qt.conf paths manually to point to their
> correct locations.
> 
> Redirect HostData to STAGING_DIR as mkspecs need to be available there
> instead of the HOST_DIR for cross compilation to work.
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
>  package/qt5/qt5base/qt5base.mk |  2 ++
>  2 files changed, 17 insertions(+), 3 deletions(-)

Do you have a bit more details on what this changing, i.e how this is
making things better?

I have no doubt that it can make things better, but it would be useful
in the commit log to have extra details on what specific
details/aspects it is fixing/improving.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-13 19:44 ` Thomas Petazzoni
@ 2022-01-14  4:51   ` James Hilliard
  0 siblings, 0 replies; 9+ messages in thread
From: James Hilliard @ 2022-01-14  4:51 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Peter Seiderer, Julien Corjon, buildroot

On Thu, Jan 13, 2022 at 12:44 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello James,
>
> On Wed, 12 Jan 2022 13:39:39 -0700
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Currently the qmake gcc sysrootify path logic causes issues with
> > per-package directories, disable automatic gcc sysroot for qt5base
> > install and override all qt.conf paths manually to point to their
> > correct locations.
> >
> > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > instead of the HOST_DIR for cross compilation to work.
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> >  package/qt5/qt5base/qt5base.mk |  2 ++
> >  2 files changed, 17 insertions(+), 3 deletions(-)
>
> Do you have a bit more details on what this changing, i.e how this is
> making things better?
>
> I have no doubt that it can make things better, but it would be useful
> in the commit log to have extra details on what specific
> details/aspects it is fixing/improving.

Well it seems to prevent invalid paths causing these errors:
/home/buildroot/buildroot/output/per-package/qt5base/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/10.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld:
cannot find /lib64/libc.so.6
/home/buildroot/buildroot/output/per-package/qt5base/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/10.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld:
cannot find /usr/lib64/libc_nonshared.a
/home/buildroot/buildroot/output/per-package/qt5base/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/10.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld:
cannot find /lib/ld-linux-aarch64.so.1
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:122: ../../lib/libQt5Svg.so.5.15.2] Error 1
make[3]: *** [Makefile:48: sub-svg-make_first-ordered] Error 2
make[2]: *** [Makefile:49: sub-src-make_first] Error 2
make[1]: *** [package/pkg-generic.mk:295:
/home/buildroot/buildroot/output/build/qt5svg-5.15.2/.stamp_built]
Error 2

>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-12 20:39 [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify James Hilliard
  2022-01-13 19:44 ` Thomas Petazzoni
@ 2022-01-15 22:37 ` Peter Seiderer
  2022-01-16  1:34   ` James Hilliard
  2022-01-16  5:08   ` James Hilliard
  1 sibling, 2 replies; 9+ messages in thread
From: Peter Seiderer @ 2022-01-15 22:37 UTC (permalink / raw)
  To: James Hilliard; +Cc: Julien Corjon, buildroot

Hello James, *,

On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:

> Currently the qmake gcc sysrootify path logic causes issues with
> per-package directories, disable automatic gcc sysroot for qt5base
> install and override all qt.conf paths manually to point to their
> correct locations.
>
> Redirect HostData to STAGING_DIR as mkspecs need to be available there
> instead of the HOST_DIR for cross compilation to work.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
>  package/qt5/qt5base/qt5base.mk |  2 ++
>  2 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> index 2215cbd4e1..db9ab0c364 100644
> --- a/package/qt5/qt5base/qt.conf.in
> +++ b/package/qt5/qt5base/qt.conf.in
> @@ -2,6 +2,18 @@
>  Prefix=/usr
>  HostPrefix=@@HOST_DIR@@
>  Sysroot=@@STAGING_DIR@@
> -Headers=/usr/include/qt5
> -Plugins=/usr/lib/qt/plugins
> -Examples=/usr/lib/qt/examples
> +SysrootifyPrefix=false
> +Binaries=@@STAGING_DIR@@/usr/bin
> +Libraries=@@STAGING_DIR@@/usr/lib
> +Headers=@@STAGING_DIR@@/usr/include/qt5
> +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> +Data=@@STAGING_DIR@@
> +Translations=@@STAGING_DIR@@/translations
> +ArchData=@@STAGING_DIR@@/usr
> +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> +Imports=@@STAGING_DIR@@/usr/imports
> +Qml2Imports=@@STAGING_DIR@@/usr/qml
> +HostBinaries=@@HOST_DIR@@/bin
> +HostLibraries=@@HOST_DIR@@/lib
> +HostData=@@STAGING_DIR@@
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index bcdf036f00..6c05e710d8 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
>  		-v \
>  		-prefix /usr \
>  		-hostprefix $(HOST_DIR) \
> +		-hostdatadir $(STAGING_DIR) \
>  		-headerdir /usr/include/qt5 \
>  		-sysroot $(STAGING_DIR) \
> +		-no-gcc-sysroot \
>  		-plugindir /usr/lib/qt/plugins \
>  		-examplesdir /usr/lib/qt/examples \
>  		-no-rpath \

This one leads to the following compile failure for qt5webengine-5.15.2:

  .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status


But the file crti.o exists:

	$ find . -name crti.o
	./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
	./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o


Did not (yet) test with your latest (v2) patch iteration...

Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
(see secoidt.h/pk11pub.h No such file or directory failure reported by already by
Thomas)...

Regards,
Peter
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-15 22:37 ` Peter Seiderer
@ 2022-01-16  1:34   ` James Hilliard
  2022-01-16  5:08   ` James Hilliard
  1 sibling, 0 replies; 9+ messages in thread
From: James Hilliard @ 2022-01-16  1:34 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Julien Corjon, buildroot

On Sat, Jan 15, 2022 at 3:37 PM Peter Seiderer <ps.report@gmx.net> wrote:
>
> Hello James, *,
>
> On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Currently the qmake gcc sysrootify path logic causes issues with
> > per-package directories, disable automatic gcc sysroot for qt5base
> > install and override all qt.conf paths manually to point to their
> > correct locations.
> >
> > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > instead of the HOST_DIR for cross compilation to work.
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> >  package/qt5/qt5base/qt5base.mk |  2 ++
> >  2 files changed, 17 insertions(+), 3 deletions(-)
> >
> > diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> > index 2215cbd4e1..db9ab0c364 100644
> > --- a/package/qt5/qt5base/qt.conf.in
> > +++ b/package/qt5/qt5base/qt.conf.in
> > @@ -2,6 +2,18 @@
> >  Prefix=/usr
> >  HostPrefix=@@HOST_DIR@@
> >  Sysroot=@@STAGING_DIR@@
> > -Headers=/usr/include/qt5
> > -Plugins=/usr/lib/qt/plugins
> > -Examples=/usr/lib/qt/examples
> > +SysrootifyPrefix=false
> > +Binaries=@@STAGING_DIR@@/usr/bin
> > +Libraries=@@STAGING_DIR@@/usr/lib
> > +Headers=@@STAGING_DIR@@/usr/include/qt5
> > +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> > +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> > +Data=@@STAGING_DIR@@
> > +Translations=@@STAGING_DIR@@/translations
> > +ArchData=@@STAGING_DIR@@/usr
> > +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> > +Imports=@@STAGING_DIR@@/usr/imports
> > +Qml2Imports=@@STAGING_DIR@@/usr/qml
> > +HostBinaries=@@HOST_DIR@@/bin
> > +HostLibraries=@@HOST_DIR@@/lib
> > +HostData=@@STAGING_DIR@@
> > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> > index bcdf036f00..6c05e710d8 100644
> > --- a/package/qt5/qt5base/qt5base.mk
> > +++ b/package/qt5/qt5base/qt5base.mk
> > @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
> >               -v \
> >               -prefix /usr \
> >               -hostprefix $(HOST_DIR) \
> > +             -hostdatadir $(STAGING_DIR) \
> >               -headerdir /usr/include/qt5 \
> >               -sysroot $(STAGING_DIR) \
> > +             -no-gcc-sysroot \
> >               -plugindir /usr/lib/qt/plugins \
> >               -examplesdir /usr/lib/qt/examples \
> >               -no-rpath \
>
> This one leads to the following compile failure for qt5webengine-5.15.2:
>
>   .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
> collect2: error: ld returned 1 exit status

Hmm, I'll test that again.

>
>
> But the file crti.o exists:
>
>         $ find . -name crti.o
>         ./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
>         ./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o
>
>
> Did not (yet) test with your latest (v2) patch iteration...
>
> Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
> (see secoidt.h/pk11pub.h No such file or directory failure reported by already by
> Thomas)...

Does qt5webengine build ok without per-package directories with just
the KDE bump
for all the other qt5 packages?:
https://patchwork.ozlabs.org/project/buildroot/patch/20220113000935.2353800-1-james.hilliard1@gmail.com/

I separated that out to make it easier to isolate the linker issues
with the qt5webengine
5.15.8-lts build.

>
> Regards,
> Peter
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-15 22:37 ` Peter Seiderer
  2022-01-16  1:34   ` James Hilliard
@ 2022-01-16  5:08   ` James Hilliard
  2022-01-16  9:19     ` Peter Seiderer
  1 sibling, 1 reply; 9+ messages in thread
From: James Hilliard @ 2022-01-16  5:08 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Julien Corjon, buildroot

On Sat, Jan 15, 2022 at 3:37 PM Peter Seiderer <ps.report@gmx.net> wrote:
>
> Hello James, *,
>
> On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Currently the qmake gcc sysrootify path logic causes issues with
> > per-package directories, disable automatic gcc sysroot for qt5base
> > install and override all qt.conf paths manually to point to their
> > correct locations.
> >
> > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > instead of the HOST_DIR for cross compilation to work.
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> >  package/qt5/qt5base/qt5base.mk |  2 ++
> >  2 files changed, 17 insertions(+), 3 deletions(-)
> >
> > diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> > index 2215cbd4e1..db9ab0c364 100644
> > --- a/package/qt5/qt5base/qt.conf.in
> > +++ b/package/qt5/qt5base/qt.conf.in
> > @@ -2,6 +2,18 @@
> >  Prefix=/usr
> >  HostPrefix=@@HOST_DIR@@
> >  Sysroot=@@STAGING_DIR@@
> > -Headers=/usr/include/qt5
> > -Plugins=/usr/lib/qt/plugins
> > -Examples=/usr/lib/qt/examples
> > +SysrootifyPrefix=false
> > +Binaries=@@STAGING_DIR@@/usr/bin
> > +Libraries=@@STAGING_DIR@@/usr/lib
> > +Headers=@@STAGING_DIR@@/usr/include/qt5
> > +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> > +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> > +Data=@@STAGING_DIR@@
> > +Translations=@@STAGING_DIR@@/translations
> > +ArchData=@@STAGING_DIR@@/usr
> > +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> > +Imports=@@STAGING_DIR@@/usr/imports
> > +Qml2Imports=@@STAGING_DIR@@/usr/qml
> > +HostBinaries=@@HOST_DIR@@/bin
> > +HostLibraries=@@HOST_DIR@@/lib
> > +HostData=@@STAGING_DIR@@
> > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> > index bcdf036f00..6c05e710d8 100644
> > --- a/package/qt5/qt5base/qt5base.mk
> > +++ b/package/qt5/qt5base/qt5base.mk
> > @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
> >               -v \
> >               -prefix /usr \
> >               -hostprefix $(HOST_DIR) \
> > +             -hostdatadir $(STAGING_DIR) \
> >               -headerdir /usr/include/qt5 \
> >               -sysroot $(STAGING_DIR) \
> > +             -no-gcc-sysroot \
> >               -plugindir /usr/lib/qt/plugins \
> >               -examplesdir /usr/lib/qt/examples \
> >               -no-rpath \
>
> This one leads to the following compile failure for qt5webengine-5.15.2:
>
>   .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
> collect2: error: ld returned 1 exit status

So I was able to reproduce this error, however best I can tell it's
probably not a regression
as the compilation still fails due to a different error without this patch:

ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned
non-zero exit code.
    pkgresult = exec_script(pkg_config_script, args, "value")
                ^----------
Current dir: /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/core/release/
Command: /home/buildroot/buildroot/output/host/bin/python2
/home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/3rdparty/chromium/build/config/linux/pkg-config.py
-p /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config
libjpeg
Returned 1.
stderr:

Package libjpeg was not found in the pkg-config search path.
Perhaps you should add the directory containing `libjpeg.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libjpeg', required by 'virtual:world', not found
Could not run pkg-config.

See //third_party/BUILD.gn:17:3: whence it was called.
  pkg_config("system_libjpeg") {
  ^-----------------------------
See //third_party/blink/renderer/platform/BUILD.gn:159:5: which caused
the file to be included.
    "//third_party:jpeg",
    ^-------------------
Project ERROR: GN run error!

>
>
> But the file crti.o exists:
>
>         $ find . -name crti.o
>         ./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
>         ./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o
>
>
> Did not (yet) test with your latest (v2) patch iteration...
>
> Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
> (see secoidt.h/pk11pub.h No such file or directory failure reported by already by
> Thomas)...
>
> Regards,
> Peter
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-16  5:08   ` James Hilliard
@ 2022-01-16  9:19     ` Peter Seiderer
  2022-01-16 10:28       ` James Hilliard
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Seiderer @ 2022-01-16  9:19 UTC (permalink / raw)
  To: James Hilliard; +Cc: Julien Corjon, buildroot

Hello James,

On Sat, 15 Jan 2022 22:08:57 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:

> On Sat, Jan 15, 2022 at 3:37 PM Peter Seiderer <ps.report@gmx.net> wrote:
> >
> > Hello James, *,
> >
> > On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
> >
> > > Currently the qmake gcc sysrootify path logic causes issues with
> > > per-package directories, disable automatic gcc sysroot for qt5base
> > > install and override all qt.conf paths manually to point to their
> > > correct locations.
> > >
> > > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > > instead of the HOST_DIR for cross compilation to work.
> > >
> > > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > > ---
> > >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> > >  package/qt5/qt5base/qt5base.mk |  2 ++
> > >  2 files changed, 17 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> > > index 2215cbd4e1..db9ab0c364 100644
> > > --- a/package/qt5/qt5base/qt.conf.in
> > > +++ b/package/qt5/qt5base/qt.conf.in
> > > @@ -2,6 +2,18 @@
> > >  Prefix=/usr
> > >  HostPrefix=@@HOST_DIR@@
> > >  Sysroot=@@STAGING_DIR@@
> > > -Headers=/usr/include/qt5
> > > -Plugins=/usr/lib/qt/plugins
> > > -Examples=/usr/lib/qt/examples
> > > +SysrootifyPrefix=false
> > > +Binaries=@@STAGING_DIR@@/usr/bin
> > > +Libraries=@@STAGING_DIR@@/usr/lib
> > > +Headers=@@STAGING_DIR@@/usr/include/qt5
> > > +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> > > +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> > > +Data=@@STAGING_DIR@@
> > > +Translations=@@STAGING_DIR@@/translations
> > > +ArchData=@@STAGING_DIR@@/usr
> > > +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> > > +Imports=@@STAGING_DIR@@/usr/imports
> > > +Qml2Imports=@@STAGING_DIR@@/usr/qml
> > > +HostBinaries=@@HOST_DIR@@/bin
> > > +HostLibraries=@@HOST_DIR@@/lib
> > > +HostData=@@STAGING_DIR@@
> > > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> > > index bcdf036f00..6c05e710d8 100644
> > > --- a/package/qt5/qt5base/qt5base.mk
> > > +++ b/package/qt5/qt5base/qt5base.mk
> > > @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
> > >               -v \
> > >               -prefix /usr \
> > >               -hostprefix $(HOST_DIR) \
> > > +             -hostdatadir $(STAGING_DIR) \
> > >               -headerdir /usr/include/qt5 \
> > >               -sysroot $(STAGING_DIR) \
> > > +             -no-gcc-sysroot \
> > >               -plugindir /usr/lib/qt/plugins \
> > >               -examplesdir /usr/lib/qt/examples \
> > >               -no-rpath \
> >
> > This one leads to the following compile failure for qt5webengine-5.15.2:
> >
> >   .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
> > collect2: error: ld returned 1 exit status
>
> So I was able to reproduce this error, however best I can tell it's
> probably not a regression

This is a known failure, see the patches adding host-freetype/host-libjepeg/host-harfbuzz ([1])
or your own qt5webengine bump adding host-freetype dependency ([2])...

Additional the SIGSTKSZ fix is needed...

Regards,
Peter

[1] http://lists.busybox.net/pipermail/buildroot/2022-January/634005.html
[2] http://lists.busybox.net/pipermail/buildroot/2022-January/633439.html


> as the compilation still fails due to a different error without this patch:
>
> ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned
> non-zero exit code.
>     pkgresult = exec_script(pkg_config_script, args, "value")
>                 ^----------
> Current dir: /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/core/release/
> Command: /home/buildroot/buildroot/output/host/bin/python2
> /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/3rdparty/chromium/build/config/linux/pkg-config.py
> -p /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config
> libjpeg
> Returned 1.
> stderr:
>
> Package libjpeg was not found in the pkg-config search path.
> Perhaps you should add the directory containing `libjpeg.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'libjpeg', required by 'virtual:world', not found
> Could not run pkg-config.
>
> See //third_party/BUILD.gn:17:3: whence it was called.
>   pkg_config("system_libjpeg") {
>   ^-----------------------------
> See //third_party/blink/renderer/platform/BUILD.gn:159:5: which caused
> the file to be included.
>     "//third_party:jpeg",
>     ^-------------------
> Project ERROR: GN run error!
>
> >
> >
> > But the file crti.o exists:
> >
> >         $ find . -name crti.o
> >         ./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
> >         ./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o
> >
> >
> > Did not (yet) test with your latest (v2) patch iteration...
> >
> > Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
> > (see secoidt.h/pk11pub.h No such file or directory failure reported by already by
> > Thomas)...
> >
> > Regards,
> > Peter
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-16  9:19     ` Peter Seiderer
@ 2022-01-16 10:28       ` James Hilliard
  2022-01-16 10:45         ` James Hilliard
  0 siblings, 1 reply; 9+ messages in thread
From: James Hilliard @ 2022-01-16 10:28 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Julien Corjon, buildroot

On Sun, Jan 16, 2022 at 2:19 AM Peter Seiderer <ps.report@gmx.net> wrote:
>
> Hello James,
>
> On Sat, 15 Jan 2022 22:08:57 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > On Sat, Jan 15, 2022 at 3:37 PM Peter Seiderer <ps.report@gmx.net> wrote:
> > >
> > > Hello James, *,
> > >
> > > On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
> > >
> > > > Currently the qmake gcc sysrootify path logic causes issues with
> > > > per-package directories, disable automatic gcc sysroot for qt5base
> > > > install and override all qt.conf paths manually to point to their
> > > > correct locations.
> > > >
> > > > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > > > instead of the HOST_DIR for cross compilation to work.
> > > >
> > > > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > > > ---
> > > >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> > > >  package/qt5/qt5base/qt5base.mk |  2 ++
> > > >  2 files changed, 17 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> > > > index 2215cbd4e1..db9ab0c364 100644
> > > > --- a/package/qt5/qt5base/qt.conf.in
> > > > +++ b/package/qt5/qt5base/qt.conf.in
> > > > @@ -2,6 +2,18 @@
> > > >  Prefix=/usr
> > > >  HostPrefix=@@HOST_DIR@@
> > > >  Sysroot=@@STAGING_DIR@@
> > > > -Headers=/usr/include/qt5
> > > > -Plugins=/usr/lib/qt/plugins
> > > > -Examples=/usr/lib/qt/examples
> > > > +SysrootifyPrefix=false
> > > > +Binaries=@@STAGING_DIR@@/usr/bin
> > > > +Libraries=@@STAGING_DIR@@/usr/lib
> > > > +Headers=@@STAGING_DIR@@/usr/include/qt5
> > > > +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> > > > +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> > > > +Data=@@STAGING_DIR@@
> > > > +Translations=@@STAGING_DIR@@/translations
> > > > +ArchData=@@STAGING_DIR@@/usr
> > > > +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> > > > +Imports=@@STAGING_DIR@@/usr/imports
> > > > +Qml2Imports=@@STAGING_DIR@@/usr/qml
> > > > +HostBinaries=@@HOST_DIR@@/bin
> > > > +HostLibraries=@@HOST_DIR@@/lib
> > > > +HostData=@@STAGING_DIR@@
> > > > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> > > > index bcdf036f00..6c05e710d8 100644
> > > > --- a/package/qt5/qt5base/qt5base.mk
> > > > +++ b/package/qt5/qt5base/qt5base.mk
> > > > @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
> > > >               -v \
> > > >               -prefix /usr \
> > > >               -hostprefix $(HOST_DIR) \
> > > > +             -hostdatadir $(STAGING_DIR) \
> > > >               -headerdir /usr/include/qt5 \
> > > >               -sysroot $(STAGING_DIR) \
> > > > +             -no-gcc-sysroot \
> > > >               -plugindir /usr/lib/qt/plugins \
> > > >               -examplesdir /usr/lib/qt/examples \
> > > >               -no-rpath \
> > >
> > > This one leads to the following compile failure for qt5webengine-5.15.2:
> > >
> > >   .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
> > > collect2: error: ld returned 1 exit status
> >
> > So I was able to reproduce this error, however best I can tell it's
> > probably not a regression
>
> This is a known failure, see the patches adding host-freetype/host-libjepeg/host-harfbuzz ([1])
> or your own qt5webengine bump adding host-freetype dependency ([2])...

So there's a major pkg-config bug here, I partially fixed it here but
it seems gn
is mangling some of the paths after getting them from pkg-config:
https://patchwork.ozlabs.org/project/buildroot/patch/20220116101739.2623120-1-james.hilliard1@gmail.com/

This gets the target pkg-config paths set up right at least
output/build/qt5webengine-5.15.2/src/core/release/args.gn:
pkg_config = "/home/buildroot/buildroot/output/host/bin/pkg-config"
host_pkg_config =
"/home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config"

However gn I think is prepending the target_sysroot to the include
paths or something:
target_sysroot =
    "/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot"

which causes this error:
/home/buildroot/buildroot/output/host/bin/aarch64-linux-g++ -MMD -MF
obj/crypto/crypto/nss_util.o.d -DCRYPTO_IMPLEMENTATION -DUSE_UDEV
-DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD
-DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS
-DCR_SYSROOT_HASH=2cade9ee1ca9186b28ac768c19e1ab7c45ee0600 -DNDEBUG
-DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen
-I../../3rdparty/chromium
-I../../3rdparty/chromium/third_party/boringssl/src/include
-fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector
-fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe
-pthread -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
-Wno-unused-local-typedefs -Wno-maybe-uninitialized
-Wno-deprecated-declarations -fno-delete-null-pointer-checks
-Wno-comments -Wno-packed-not-aligned -Wno-dangling-else
-Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident
-fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0
-fvisibility=hidden
-I/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nss
-I/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nspr
-std=gnu++14 -Wno-narrowing -Wno-class-memaccess -Wno-attributes
-Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof
-Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti
--sysroot=../../../../../host/aarch64-buildroot-linux-gnu/sysroot
-fvisibility-inlines-hidden -c
../../3rdparty/chromium/crypto/nss_util.cc -o
obj/crypto/crypto/nss_util.o
../../3rdparty/chromium/crypto/nss_util.cc:8:10: fatal error:
pk11pub.h: No such file or directory
    8 | #include <pk11pub.h>
      |          ^~~~~~~~~~~

The include path being set by gn doesn't exist, although it's at least
trying to use the
target variant now:
/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nss

>
> Additional the SIGSTKSZ fix is needed...

Yeah, on newer glibc's it's needed.

>
> Regards,
> Peter
>
> [1] http://lists.busybox.net/pipermail/buildroot/2022-January/634005.html
> [2] http://lists.busybox.net/pipermail/buildroot/2022-January/633439.html
>
>
> > as the compilation still fails due to a different error without this patch:
> >
> > ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned
> > non-zero exit code.
> >     pkgresult = exec_script(pkg_config_script, args, "value")
> >                 ^----------
> > Current dir: /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/core/release/
> > Command: /home/buildroot/buildroot/output/host/bin/python2
> > /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/3rdparty/chromium/build/config/linux/pkg-config.py
> > -p /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config
> > libjpeg
> > Returned 1.
> > stderr:
> >
> > Package libjpeg was not found in the pkg-config search path.
> > Perhaps you should add the directory containing `libjpeg.pc'
> > to the PKG_CONFIG_PATH environment variable
> > Package 'libjpeg', required by 'virtual:world', not found
> > Could not run pkg-config.
> >
> > See //third_party/BUILD.gn:17:3: whence it was called.
> >   pkg_config("system_libjpeg") {
> >   ^-----------------------------
> > See //third_party/blink/renderer/platform/BUILD.gn:159:5: which caused
> > the file to be included.
> >     "//third_party:jpeg",
> >     ^-------------------
> > Project ERROR: GN run error!
> >
> > >
> > >
> > > But the file crti.o exists:
> > >
> > >         $ find . -name crti.o
> > >         ./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
> > >         ./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o
> > >
> > >
> > > Did not (yet) test with your latest (v2) patch iteration...
> > >
> > > Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
> > > (see secoidt.h/pk11pub.h No such file or directory failure reported by already by
> > > Thomas)...
> > >
> > > Regards,
> > > Peter
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify
  2022-01-16 10:28       ` James Hilliard
@ 2022-01-16 10:45         ` James Hilliard
  0 siblings, 0 replies; 9+ messages in thread
From: James Hilliard @ 2022-01-16 10:45 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Julien Corjon, buildroot

On Sun, Jan 16, 2022 at 3:28 AM James Hilliard
<james.hilliard1@gmail.com> wrote:
>
> On Sun, Jan 16, 2022 at 2:19 AM Peter Seiderer <ps.report@gmx.net> wrote:
> >
> > Hello James,
> >
> > On Sat, 15 Jan 2022 22:08:57 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
> >
> > > On Sat, Jan 15, 2022 at 3:37 PM Peter Seiderer <ps.report@gmx.net> wrote:
> > > >
> > > > Hello James, *,
> > > >
> > > > On Wed, 12 Jan 2022 13:39:39 -0700, James Hilliard <james.hilliard1@gmail.com> wrote:
> > > >
> > > > > Currently the qmake gcc sysrootify path logic causes issues with
> > > > > per-package directories, disable automatic gcc sysroot for qt5base
> > > > > install and override all qt.conf paths manually to point to their
> > > > > correct locations.
> > > > >
> > > > > Redirect HostData to STAGING_DIR as mkspecs need to be available there
> > > > > instead of the HOST_DIR for cross compilation to work.
> > > > >
> > > > > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > > > > ---
> > > > >  package/qt5/qt5base/qt.conf.in | 18 +++++++++++++++---
> > > > >  package/qt5/qt5base/qt5base.mk |  2 ++
> > > > >  2 files changed, 17 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/package/qt5/qt5base/qt.conf.in b/package/qt5/qt5base/qt.conf.in
> > > > > index 2215cbd4e1..db9ab0c364 100644
> > > > > --- a/package/qt5/qt5base/qt.conf.in
> > > > > +++ b/package/qt5/qt5base/qt.conf.in
> > > > > @@ -2,6 +2,18 @@
> > > > >  Prefix=/usr
> > > > >  HostPrefix=@@HOST_DIR@@
> > > > >  Sysroot=@@STAGING_DIR@@
> > > > > -Headers=/usr/include/qt5
> > > > > -Plugins=/usr/lib/qt/plugins
> > > > > -Examples=/usr/lib/qt/examples
> > > > > +SysrootifyPrefix=false
> > > > > +Binaries=@@STAGING_DIR@@/usr/bin
> > > > > +Libraries=@@STAGING_DIR@@/usr/lib
> > > > > +Headers=@@STAGING_DIR@@/usr/include/qt5
> > > > > +Plugins=@@STAGING_DIR@@/usr/lib/qt/plugins
> > > > > +Examples=@@STAGING_DIR@@/usr/lib/qt/examples
> > > > > +Data=@@STAGING_DIR@@
> > > > > +Translations=@@STAGING_DIR@@/translations
> > > > > +ArchData=@@STAGING_DIR@@/usr
> > > > > +LibraryExecutables=@@STAGING_DIR@@/usr/libexec
> > > > > +Imports=@@STAGING_DIR@@/usr/imports
> > > > > +Qml2Imports=@@STAGING_DIR@@/usr/qml
> > > > > +HostBinaries=@@HOST_DIR@@/bin
> > > > > +HostLibraries=@@HOST_DIR@@/lib
> > > > > +HostData=@@STAGING_DIR@@
> > > > > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> > > > > index bcdf036f00..6c05e710d8 100644
> > > > > --- a/package/qt5/qt5base/qt5base.mk
> > > > > +++ b/package/qt5/qt5base/qt5base.mk
> > > > > @@ -311,8 +311,10 @@ define QT5BASE_CONFIGURE_CMDS
> > > > >               -v \
> > > > >               -prefix /usr \
> > > > >               -hostprefix $(HOST_DIR) \
> > > > > +             -hostdatadir $(STAGING_DIR) \
> > > > >               -headerdir /usr/include/qt5 \
> > > > >               -sysroot $(STAGING_DIR) \
> > > > > +             -no-gcc-sysroot \
> > > > >               -plugindir /usr/lib/qt/plugins \
> > > > >               -examplesdir /usr/lib/qt/examples \
> > > > >               -no-rpath \
> > > >
> > > > This one leads to the following compile failure for qt5webengine-5.15.2:
> > > >
> > > >   .../host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
> > > > collect2: error: ld returned 1 exit status
> > >
> > > So I was able to reproduce this error, however best I can tell it's
> > > probably not a regression
> >
> > This is a known failure, see the patches adding host-freetype/host-libjepeg/host-harfbuzz ([1])
> > or your own qt5webengine bump adding host-freetype dependency ([2])...
>
> So there's a major pkg-config bug here, I partially fixed it here but
> it seems gn
> is mangling some of the paths after getting them from pkg-config:
> https://patchwork.ozlabs.org/project/buildroot/patch/20220116101739.2623120-1-james.hilliard1@gmail.com/
>
> This gets the target pkg-config paths set up right at least
> output/build/qt5webengine-5.15.2/src/core/release/args.gn:
> pkg_config = "/home/buildroot/buildroot/output/host/bin/pkg-config"
> host_pkg_config =
> "/home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config"
>
> However gn I think is prepending the target_sysroot to the include
> paths or something:
> target_sysroot =
>     "/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot"
>
> which causes this error:
> /home/buildroot/buildroot/output/host/bin/aarch64-linux-g++ -MMD -MF
> obj/crypto/crypto/nss_util.o.d -DCRYPTO_IMPLEMENTATION -DUSE_UDEV
> -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD
> -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D__STDC_CONSTANT_MACROS
> -D__STDC_FORMAT_MACROS
> -DCR_SYSROOT_HASH=2cade9ee1ca9186b28ac768c19e1ab7c45ee0600 -DNDEBUG
> -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen
> -I../../3rdparty/chromium
> -I../../3rdparty/chromium/third_party/boringssl/src/include
> -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector
> -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe
> -pthread -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
> -Wno-unused-local-typedefs -Wno-maybe-uninitialized
> -Wno-deprecated-declarations -fno-delete-null-pointer-checks
> -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else
> -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident
> -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0
> -fvisibility=hidden
> -I/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nss
> -I/home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nspr
> -std=gnu++14 -Wno-narrowing -Wno-class-memaccess -Wno-attributes
> -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof
> -Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti
> --sysroot=../../../../../host/aarch64-buildroot-linux-gnu/sysroot
> -fvisibility-inlines-hidden -c
> ../../3rdparty/chromium/crypto/nss_util.cc -o
> obj/crypto/crypto/nss_util.o
> ../../3rdparty/chromium/crypto/nss_util.cc:8:10: fatal error:
> pk11pub.h: No such file or directory
>     8 | #include <pk11pub.h>
>       |          ^~~~~~~~~~~
>
> The include path being set by gn doesn't exist, although it's at least
> trying to use the
> target variant now:
> /home/buildroot/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/home/buildroot/buildroot/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/include/nss

Hmm, so I think I found a way to get that to not happen by setting
PKG_CONFIG_SYSROOT_DIR="/":
https://patchwork.ozlabs.org/project/buildroot/patch/20220116104321.2696659-1-james.hilliard1@gmail.com/

>
> >
> > Additional the SIGSTKSZ fix is needed...
>
> Yeah, on newer glibc's it's needed.
>
> >
> > Regards,
> > Peter
> >
> > [1] http://lists.busybox.net/pipermail/buildroot/2022-January/634005.html
> > [2] http://lists.busybox.net/pipermail/buildroot/2022-January/633439.html
> >
> >
> > > as the compilation still fails due to a different error without this patch:
> > >
> > > ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned
> > > non-zero exit code.
> > >     pkgresult = exec_script(pkg_config_script, args, "value")
> > >                 ^----------
> > > Current dir: /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/core/release/
> > > Command: /home/buildroot/buildroot/output/host/bin/python2
> > > /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/src/3rdparty/chromium/build/config/linux/pkg-config.py
> > > -p /home/buildroot/buildroot/output/build/qt5webengine-5.15.2/host-bin/host-pkg-config
> > > libjpeg
> > > Returned 1.
> > > stderr:
> > >
> > > Package libjpeg was not found in the pkg-config search path.
> > > Perhaps you should add the directory containing `libjpeg.pc'
> > > to the PKG_CONFIG_PATH environment variable
> > > Package 'libjpeg', required by 'virtual:world', not found
> > > Could not run pkg-config.
> > >
> > > See //third_party/BUILD.gn:17:3: whence it was called.
> > >   pkg_config("system_libjpeg") {
> > >   ^-----------------------------
> > > See //third_party/blink/renderer/platform/BUILD.gn:159:5: which caused
> > > the file to be included.
> > >     "//third_party:jpeg",
> > >     ^-------------------
> > > Project ERROR: GN run error!
> > >
> > > >
> > > >
> > > > But the file crti.o exists:
> > > >
> > > >         $ find . -name crti.o
> > > >         ./build/glibc-2.34-9-g9acab0bba6a5a57323b1f94bf95b21618a9e5aa4/build/csu/crti.o
> > > >         ./host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/crti.o
> > > >
> > > >
> > > > Did not (yet) test with your latest (v2) patch iteration...
> > > >
> > > > Compile with qt5webengine bump to 5.15.8-lts fails already before the linking stage
> > > > (see secoidt.h/pk11pub.h No such file or directory failure reported by already by
> > > > Thomas)...
> > > >
> > > > Regards,
> > > > Peter
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot@buildroot.org
> > > https://lists.buildroot.org/mailman/listinfo/buildroot
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-01-16 10:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12 20:39 [Buildroot] [PATCH 1/1] package/qt5/qt5base: disable broken qmake sysrootify James Hilliard
2022-01-13 19:44 ` Thomas Petazzoni
2022-01-14  4:51   ` James Hilliard
2022-01-15 22:37 ` Peter Seiderer
2022-01-16  1:34   ` James Hilliard
2022-01-16  5:08   ` James Hilliard
2022-01-16  9:19     ` Peter Seiderer
2022-01-16 10:28       ` James Hilliard
2022-01-16 10:45         ` James Hilliard

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.