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

Yann E. MORIN yann.morin.1998 at free.fr
Sun May 31 20:30:43 UTC 2020


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 at gmail.com>
> Cc: Gaël Portay <gael.portay at 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 at 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 at 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.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list