* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
@ 2020-05-24 15:58 Romain Naour
2020-05-26 21:02 ` Romain Naour
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Romain Naour @ 2020-05-24 15:58 UTC (permalink / raw)
To: buildroot
While cross-compiling, qt5webengine is building a host tool but
want to link the libstdc++ statically. This requires to install
libstdc++-static package on the host (Fedora package name).
Otherwise the link fail with:
[185/185] LINK gn
FAILED: gn
/usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
/usr/bin/ld?: unable to find -lstdc++
[...]
Project ERROR: GN build error!
Add --no-static-libstdc++ argument to gn.pro to link to
libstdc++.so.6 instead of libstdc++.a.
--no-static-libstdc++ has been added by [1] but it force
linking statically by default.
[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Ga?l Portay <gael.portay@collabora.com>
---
...ro-don-t-link-statically-with-libstc.patch | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
diff --git a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
new file mode 100644
index 0000000000..dff3e6c849
--- /dev/null
+++ b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
@@ -0,0 +1,51 @@
+From 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sat, 23 May 2020 19:01:19 +0200
+Subject: [PATCH] gn.pro: don't link statically with libstc++
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+While cross-compiling, qt5webengine is building a host tool but
+want to link the libstdc++ statically. This requires to install
+libstdc++-static package on the host (Fedora package name).
+
+Otherwise the link fail with:
+
+ [185/185] LINK gn
+ FAILED: gn
+ /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
+ /usr/bin/ld?: unable to find -lstdc++
+ [...]
+ Project ERROR: GN build error!
+
+Add --no-static-libstdc++ argument to gn.pro to link to
+libstdc++.so.6 instead of libstdc++.a.
+
+--no-static-libstdc++ has been added by [1] but it force
+linking statically by default.
+
+[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ src/buildtools/gn.pro | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
+index 033202e6..5dd8e241 100644
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
+
+ gn_gen_args = --no-last-commit-position --out-path $$out_path \
+ --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
+- --ld \"$$which($$QMAKE_LINK)\"
++ --ld \"$$which($$QMAKE_LINK)\" \
++ --no-static-libstdc++
+
+ msvc:!clang_cl: gn_gen_args += --use-lto
+
+--
+2.25.4
+
--
2.25.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-24 15:58 [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host Romain Naour
@ 2020-05-26 21:02 ` Romain Naour
2020-05-26 21:13 ` Peter Seiderer
2020-05-29 21:34 ` Thomas Petazzoni
2020-05-31 20:30 ` Yann E. MORIN
2 siblings, 1 reply; 9+ messages in thread
From: Romain Naour @ 2020-05-26 21:02 UTC (permalink / raw)
To: buildroot
Hi Peter,
Le 24/05/2020 ? 17:58, Romain Naour a ?crit?:
> While cross-compiling, qt5webengine is building a host tool but
> want to link the libstdc++ statically. This requires to install
> libstdc++-static package on the host (Fedora package name).
>
> Otherwise the link fail with:
>
> [185/185] LINK gn
> FAILED: gn
> /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> /usr/bin/ld?: unable to find -lstdc++
> [...]
> Project ERROR: GN build error!
>
> Add --no-static-libstdc++ argument to gn.pro to link to
> libstdc++.so.6 instead of libstdc++.a.
>
> --no-static-libstdc++ has been added by [1] but it force
> linking statically by default.
>
> [1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
Did you noticed this issue while building for qt5declarative issue?
On my pc, the static glibc wasn't installed.
What do you think?
Best regards,
Romain
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Ga?l Portay <gael.portay@collabora.com>
> ---
> ...ro-don-t-link-statically-with-libstc.patch | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
>
> diff --git a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> new file mode 100644
> index 0000000000..dff3e6c849
> --- /dev/null
> +++ b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> @@ -0,0 +1,51 @@
> +From 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001
> +From: Romain Naour <romain.naour@gmail.com>
> +Date: Sat, 23 May 2020 19:01:19 +0200
> +Subject: [PATCH] gn.pro: don't link statically with libstc++
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +While cross-compiling, qt5webengine is building a host tool but
> +want to link the libstdc++ statically. This requires to install
> +libstdc++-static package on the host (Fedora package name).
> +
> +Otherwise the link fail with:
> +
> + [185/185] LINK gn
> + FAILED: gn
> + /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> + /usr/bin/ld?: unable to find -lstdc++
> + [...]
> + Project ERROR: GN build error!
> +
> +Add --no-static-libstdc++ argument to gn.pro to link to
> +libstdc++.so.6 instead of libstdc++.a.
> +
> +--no-static-libstdc++ has been added by [1] but it force
> +linking statically by default.
> +
> +[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
> +
> +Signed-off-by: Romain Naour <romain.naour@gmail.com>
> +---
> + src/buildtools/gn.pro | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
> +index 033202e6..5dd8e241 100644
> +--- a/src/buildtools/gn.pro
> ++++ b/src/buildtools/gn.pro
> +@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
> +
> + gn_gen_args = --no-last-commit-position --out-path $$out_path \
> + --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
> +- --ld \"$$which($$QMAKE_LINK)\"
> ++ --ld \"$$which($$QMAKE_LINK)\" \
> ++ --no-static-libstdc++
> +
> + msvc:!clang_cl: gn_gen_args += --use-lto
> +
> +--
> +2.25.4
> +
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-26 21:02 ` Romain Naour
@ 2020-05-26 21:13 ` Peter Seiderer
2020-05-27 5:19 ` Romain Naour
0 siblings, 1 reply; 9+ messages in thread
From: Peter Seiderer @ 2020-05-26 21:13 UTC (permalink / raw)
To: buildroot
Hello Romain,
On Tue, 26 May 2020 23:02:14 +0200, Romain Naour <romain.naour@gmail.com> wrote:
> Hi Peter,
>
> Le 24/05/2020 ? 17:58, Romain Naour a ?crit?:
> > While cross-compiling, qt5webengine is building a host tool but
> > want to link the libstdc++ statically. This requires to install
> > libstdc++-static package on the host (Fedora package name).
> >
> > Otherwise the link fail with:
> >
> > [185/185] LINK gn
> > FAILED: gn
> > /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> > /usr/bin/ld?: unable to find -lstdc++
> > [...]
> > Project ERROR: GN build error!
> >
> > Add --no-static-libstdc++ argument to gn.pro to link to
> > libstdc++.so.6 instead of libstdc++.a.
> >
> > --no-static-libstdc++ has been added by [1] but it force
> > linking statically by default.
> >
> > [1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
>
> Did you noticed this issue while building for qt5declarative issue?
> On my pc, the static glibc wasn't installed.
I think the problem is qt5webengine specific as it is the only package compiling
a host build tool GN....
Never observed the problem with qt5webengine, maybe because on OpenSUSE there is
a static libstdc++ provided with the 'normal' libstdc++ devel package, eg.
$ rpm -qf /usr/lib64/gcc/x86_64-suse-linux/9/libstdc++.a
libstdc++6-devel-gcc9-9.3.1+git1296-1.7.x86_64
Regards,
Peter
>
> What do you think?
>
> Best regards,
> Romain
>
> > Signed-off-by: Romain Naour <romain.naour@gmail.com>
> > Cc: Ga?l Portay <gael.portay@collabora.com>
> > ---
> > ...ro-don-t-link-statically-with-libstc.patch | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> >
> > diff --git a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> > new file mode 100644
> > index 0000000000..dff3e6c849
> > --- /dev/null
> > +++ b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> > @@ -0,0 +1,51 @@
> > +From 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001
> > +From: Romain Naour <romain.naour@gmail.com>
> > +Date: Sat, 23 May 2020 19:01:19 +0200
> > +Subject: [PATCH] gn.pro: don't link statically with libstc++
> > +MIME-Version: 1.0
> > +Content-Type: text/plain; charset=UTF-8
> > +Content-Transfer-Encoding: 8bit
> > +
> > +While cross-compiling, qt5webengine is building a host tool but
> > +want to link the libstdc++ statically. This requires to install
> > +libstdc++-static package on the host (Fedora package name).
> > +
> > +Otherwise the link fail with:
> > +
> > + [185/185] LINK gn
> > + FAILED: gn
> > + /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> > + /usr/bin/ld?: unable to find -lstdc++
> > + [...]
> > + Project ERROR: GN build error!
> > +
> > +Add --no-static-libstdc++ argument to gn.pro to link to
> > +libstdc++.so.6 instead of libstdc++.a.
> > +
> > +--no-static-libstdc++ has been added by [1] but it force
> > +linking statically by default.
> > +
> > +[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
> > +
> > +Signed-off-by: Romain Naour <romain.naour@gmail.com>
> > +---
> > + src/buildtools/gn.pro | 3 ++-
> > + 1 file changed, 2 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
> > +index 033202e6..5dd8e241 100644
> > +--- a/src/buildtools/gn.pro
> > ++++ b/src/buildtools/gn.pro
> > +@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
> > +
> > + gn_gen_args = --no-last-commit-position --out-path $$out_path \
> > + --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
> > +- --ld \"$$which($$QMAKE_LINK)\"
> > ++ --ld \"$$which($$QMAKE_LINK)\" \
> > ++ --no-static-libstdc++
> > +
> > + msvc:!clang_cl: gn_gen_args += --use-lto
> > +
> > +--
> > +2.25.4
> > +
> >
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-26 21:13 ` Peter Seiderer
@ 2020-05-27 5:19 ` Romain Naour
0 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-05-27 5:19 UTC (permalink / raw)
To: buildroot
Hi Peter,
Le 26/05/2020 ? 23:13, Peter Seiderer a ?crit?:
> Hello Romain,
>
> On Tue, 26 May 2020 23:02:14 +0200, Romain Naour <romain.naour@gmail.com> wrote:
>
>> Hi Peter,
>>
>> Le 24/05/2020 ? 17:58, Romain Naour a ?crit?:
>>> While cross-compiling, qt5webengine is building a host tool but
>>> want to link the libstdc++ statically. This requires to install
>>> libstdc++-static package on the host (Fedora package name).
>>>
>>> Otherwise the link fail with:
>>>
>>> [185/185] LINK gn
>>> FAILED: gn
>>> /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
>>> /usr/bin/ld?: unable to find -lstdc++
>>> [...]
>>> Project ERROR: GN build error!
>>>
>>> Add --no-static-libstdc++ argument to gn.pro to link to
>>> libstdc++.so.6 instead of libstdc++.a.
>>>
>>> --no-static-libstdc++ has been added by [1] but it force
>>> linking statically by default.
>>>
>>> [1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
>>
>> Did you noticed this issue while building for qt5declarative issue?
>> On my pc, the static glibc wasn't installed.
>
> I think the problem is qt5webengine specific as it is the only package compiling
> a host build tool GN....
>
> Never observed the problem with qt5webengine, maybe because on OpenSUSE there is
> a static libstdc++ provided with the 'normal' libstdc++ devel package, eg.
> $ rpm -qf /usr/lib64/gcc/x86_64-suse-linux/9/libstdc++.a
> libstdc++6-devel-gcc9-9.3.1+git1296-1.7.x86_64
I'm using Fedora, and the packaging between Linux distros can be quite
different. See for example, perl packaging in Debian (all in one) and the perl
packaging in Fedora (several dozen of packages).
For the libstdc++, the libstdc++-devel package doesn't provide the static
library. I have to install libstdc++-static package for that.
Best regards,
Romain
>
> Regards,
> Peter
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-24 15:58 [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host Romain Naour
2020-05-26 21:02 ` Romain Naour
@ 2020-05-29 21:34 ` Thomas Petazzoni
2020-05-29 21:48 ` Romain Naour
2020-05-31 20:30 ` Yann E. MORIN
2 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2020-05-29 21:34 UTC (permalink / raw)
To: buildroot
On Sun, 24 May 2020 17:58:18 +0200
Romain Naour <romain.naour@gmail.com> wrote:
> + gn_gen_args = --no-last-commit-position --out-path $$out_path \
> + --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
> +- --ld \"$$which($$QMAKE_LINK)\"
> ++ --ld \"$$which($$QMAKE_LINK)\" \
> ++ --no-static-libstdc++
If we have to pass this, doesn't it mean that the host tools are built
statically ? Why are they built statically ? They really shouldn't be
built statically at all. I believe this is what should be fixed, rather
than just avoiding specifically from linking statically with libstdc++.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-29 21:34 ` Thomas Petazzoni
@ 2020-05-29 21:48 ` Romain Naour
2020-05-31 13:08 ` Thomas Petazzoni
0 siblings, 1 reply; 9+ messages in thread
From: Romain Naour @ 2020-05-29 21:48 UTC (permalink / raw)
To: buildroot
Hi Thomas,
Le 29/05/2020 ? 23:34, Thomas Petazzoni a ?crit?:
> On Sun, 24 May 2020 17:58:18 +0200
> Romain Naour <romain.naour@gmail.com> wrote:
>
>> + gn_gen_args = --no-last-commit-position --out-path $$out_path \
>> + --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
>> +- --ld \"$$which($$QMAKE_LINK)\"
>> ++ --ld \"$$which($$QMAKE_LINK)\" \
>> ++ --no-static-libstdc++
>
> If we have to pass this, doesn't it mean that the host tools are built
> statically ? Why are they built statically ? They really shouldn't be
> built statically at all. I believe this is what should be fixed, rather
> than just avoiding specifically from linking statically with libstdc++.
Without this option host tools are built statically because this option is
enabled by default.
Adding --no-static-libstdc++ allow to link dynamically with libc.so.6.
Best regards,
Romain
>
> Thomas
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-29 21:48 ` Romain Naour
@ 2020-05-31 13:08 ` Thomas Petazzoni
2020-05-31 13:20 ` Romain Naour
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2020-05-31 13:08 UTC (permalink / raw)
To: buildroot
On Fri, 29 May 2020 23:48:09 +0200
Romain Naour <romain.naour@gmail.com> wrote:
> > If we have to pass this, doesn't it mean that the host tools are built
> > statically ? Why are they built statically ? They really shouldn't be
> > built statically at all. I believe this is what should be fixed, rather
> > than just avoiding specifically from linking statically with libstdc++.
>
> Without this option host tools are built statically because this option is
> enabled by default.
Can't we remove this, and instead link dynamically the host tools ?
> Adding --no-static-libstdc++ allow to link dynamically with libc.so.6.
--no-static-libstdc++ changes how we link against libc.so.6 ? Shouldn't
it only affect how we link against libstdc++.so ?
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-31 13:08 ` Thomas Petazzoni
@ 2020-05-31 13:20 ` Romain Naour
0 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-05-31 13:20 UTC (permalink / raw)
To: buildroot
Hello Thomas,
Le 31/05/2020 ? 15:08, Thomas Petazzoni a ?crit?:
> On Fri, 29 May 2020 23:48:09 +0200
> Romain Naour <romain.naour@gmail.com> wrote:
>
>>> If we have to pass this, doesn't it mean that the host tools are built
>>> statically ? Why are they built statically ? They really shouldn't be
>>> built statically at all. I believe this is what should be fixed, rather
>>> than just avoiding specifically from linking statically with libstdc++.
>>
>> Without this option host tools are built statically because this option is
>> enabled by default.
>
> Can't we remove this, and instead link dynamically the host tools ?
Sorry, I don't understand.
When --no-static-libstdc++ was added [1], it's default value was "false".
It means link statically libstdc++ if --no-static-libstdc++ is not provided on
the command line.
[1]
https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
>
>> Adding --no-static-libstdc++ allow to link dynamically with libc.so.6.
>
> --no-static-libstdc++ changes how we link against libc.so.6 ? Shouldn't
> it only affect how we link against libstdc++.so ?
Sorry, I meant libstdc++.so here... not libc.so.6.
Best regards,
Romain
>
> Thomas
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
2020-05-24 15:58 [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host Romain Naour
2020-05-26 21:02 ` Romain Naour
2020-05-29 21:34 ` Thomas Petazzoni
@ 2020-05-31 20:30 ` Yann E. MORIN
2 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2020-05-31 20:30 UTC (permalink / raw)
To: buildroot
Romain, All,
On 2020-05-24 17:58 +0200, Romain Naour spake thusly:
> While cross-compiling, qt5webengine is building a host tool but
> want to link the libstdc++ statically. This requires to install
> libstdc++-static package on the host (Fedora package name).
>
> Otherwise the link fail with:
>
> [185/185] LINK gn
> FAILED: gn
> /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> /usr/bin/ld?: unable to find -lstdc++
> [...]
> Project ERROR: GN build error!
>
> Add --no-static-libstdc++ argument to gn.pro to link to
> libstdc++.so.6 instead of libstdc++.a.
>
> --no-static-libstdc++ has been added by [1] but it force
> linking statically by default.
>
> [1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Ga?l Portay <gael.portay@collabora.com>
Applied to master, after rewriting the commit log with the extra details
and explanations you provided as replies in the thread. Thanks! :-)
Regards,
Yann E. MORIN.
> ---
> ...ro-don-t-link-statically-with-libstc.patch | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
>
> diff --git a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> new file mode 100644
> index 0000000000..dff3e6c849
> --- /dev/null
> +++ b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch
> @@ -0,0 +1,51 @@
> +From 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001
> +From: Romain Naour <romain.naour@gmail.com>
> +Date: Sat, 23 May 2020 19:01:19 +0200
> +Subject: [PATCH] gn.pro: don't link statically with libstc++
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +While cross-compiling, qt5webengine is building a host tool but
> +want to link the libstdc++ statically. This requires to install
> +libstdc++-static package on the host (Fedora package name).
> +
> +Otherwise the link fail with:
> +
> + [185/185] LINK gn
> + FAILED: gn
> + /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
> + /usr/bin/ld?: unable to find -lstdc++
> + [...]
> + Project ERROR: GN build error!
> +
> +Add --no-static-libstdc++ argument to gn.pro to link to
> +libstdc++.so.6 instead of libstdc++.a.
> +
> +--no-static-libstdc++ has been added by [1] but it force
> +linking statically by default.
> +
> +[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
> +
> +Signed-off-by: Romain Naour <romain.naour@gmail.com>
> +---
> + src/buildtools/gn.pro | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
> +index 033202e6..5dd8e241 100644
> +--- a/src/buildtools/gn.pro
> ++++ b/src/buildtools/gn.pro
> +@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
> +
> + gn_gen_args = --no-last-commit-position --out-path $$out_path \
> + --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
> +- --ld \"$$which($$QMAKE_LINK)\"
> ++ --ld \"$$which($$QMAKE_LINK)\" \
> ++ --no-static-libstdc++
> +
> + msvc:!clang_cl: gn_gen_args += --use-lto
> +
> +--
> +2.25.4
> +
> --
> 2.25.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-05-31 20:30 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-24 15:58 [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host Romain Naour
2020-05-26 21:02 ` Romain Naour
2020-05-26 21:13 ` Peter Seiderer
2020-05-27 5:19 ` Romain Naour
2020-05-29 21:34 ` Thomas Petazzoni
2020-05-29 21:48 ` Romain Naour
2020-05-31 13:08 ` Thomas Petazzoni
2020-05-31 13:20 ` Romain Naour
2020-05-31 20:30 ` Yann E. MORIN
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.