Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Seiderer <ps.report@gmx.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/qt5/qt5webengine: don't link with libstdc++.a on the host
Date: Tue, 26 May 2020 23:13:30 +0200	[thread overview]
Message-ID: <20200526231330.61fedf4d@gmx.net> (raw)
In-Reply-To: <e01d85ae-b6ae-816b-b094-84a13862e721@gmail.com>

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
> > +
> >   
> 

  reply	other threads:[~2020-05-26 21:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200526231330.61fedf4d@gmx.net \
    --to=ps.report@gmx.net \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox