1*4882a593SmuzhiyunFrom 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Romain Naour <romain.naour@gmail.com> 3*4882a593SmuzhiyunDate: Sat, 23 May 2020 19:01:19 +0200 4*4882a593SmuzhiyunSubject: [PATCH] gn.pro: don't link statically with libstc++ 5*4882a593SmuzhiyunMIME-Version: 1.0 6*4882a593SmuzhiyunContent-Type: text/plain; charset=UTF-8 7*4882a593SmuzhiyunContent-Transfer-Encoding: 8bit 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunWhile cross-compiling, qt5webengine is building a host tool but 10*4882a593Smuzhiyunwant to link the libstdc++ statically. This requires to install 11*4882a593Smuzhiyunlibstdc++-static package on the host (Fedora package name). 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunOtherwise the link fail with: 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun [185/185] LINK gn 16*4882a593Smuzhiyun FAILED: gn 17*4882a593Smuzhiyun /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 18*4882a593Smuzhiyun /usr/bin/ld : unable to find -lstdc++ 19*4882a593Smuzhiyun [...] 20*4882a593Smuzhiyun Project ERROR: GN build error! 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunAdd --no-static-libstdc++ argument to gn.pro to link to 23*4882a593Smuzhiyunlibstdc++.so.6 instead of libstdc++.a. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun--no-static-libstdc++ has been added by [1] but it force 26*4882a593Smuzhiyunlinking statically by default. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunSigned-off-by: Romain Naour <romain.naour@gmail.com> 31*4882a593Smuzhiyun--- 32*4882a593Smuzhiyun src/buildtools/gn.pro | 3 ++- 33*4882a593Smuzhiyun 1 file changed, 2 insertions(+), 1 deletion(-) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyundiff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro 36*4882a593Smuzhiyunindex 033202e6..5dd8e241 100644 37*4882a593Smuzhiyun--- a/src/buildtools/gn.pro 38*4882a593Smuzhiyun+++ b/src/buildtools/gn.pro 39*4882a593Smuzhiyun@@ -20,7 +20,8 @@ build_pass|!debug_and_release { 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun gn_gen_args = --no-last-commit-position --out-path $$out_path \ 42*4882a593Smuzhiyun --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \ 43*4882a593Smuzhiyun- --ld \"$$which($$QMAKE_LINK)\" 44*4882a593Smuzhiyun+ --ld \"$$which($$QMAKE_LINK)\" \ 45*4882a593Smuzhiyun+ --no-static-libstdc++ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun msvc:!clang_cl: gn_gen_args += --use-lto 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun-- 50*4882a593Smuzhiyun2.25.4 51*4882a593Smuzhiyun 52