From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Sun, 31 May 2020 22:30:43 +0200 Subject: [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host In-Reply-To: <20200524155818.126961-1-romain.naour@gmail.com> References: <20200524155818.126961-1-romain.naour@gmail.com> Message-ID: <20200531203043.GE8737@scaer> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net 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 > Cc: Ga?l Portay 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 > +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 > +--- > + 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. | '------------------------------^-------^------------------^--------------------'