diff mbox series

package/qt5/qt5webengine: don't link with libstdc++.a on the host

Message ID 20200524155818.126961-1-romain.naour@gmail.com
State Accepted
Headers show
Series package/qt5/qt5webengine: don't link with libstdc++.a on the host | expand

Commit Message

Romain Naour May 24, 2020, 3:58 p.m. UTC
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

Comments

Romain Naour May 26, 2020, 9:02 p.m. UTC | #1
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
> +
>
Peter Seiderer May 26, 2020, 9:13 p.m. UTC | #2
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
> > +
> >   
>
Romain Naour May 27, 2020, 5:19 a.m. UTC | #3
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
>
Thomas Petazzoni May 29, 2020, 9:34 p.m. UTC | #4
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
Romain Naour May 29, 2020, 9:48 p.m. UTC | #5
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
>
Thomas Petazzoni May 31, 2020, 1:08 p.m. UTC | #6
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
Romain Naour May 31, 2020, 1:20 p.m. UTC | #7
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
>
Yann E. MORIN May 31, 2020, 8:30 p.m. UTC | #8
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@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox series

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
+