diff mbox

qt: build using old C++ standart

Message ID 1471623523-23829-1-git-send-email-vzakhar@synopsys.com
State Accepted
Headers show

Commit Message

Zakharov Vlad Aug. 19, 2016, 4:18 p.m. UTC
'std::auto_ptr' is deprecated with gcc-6 but is used in qt4 code.
So we have to build using old C++ standart to prevent build failures.

qt4 is not being developed no more, so unfortunately we can't update
obsolete C++ code and have to add this workaround.

Fixes:
http://autobuild.buildroot.net/results/541/54172d55f39b2fcfa5b7fb4d4ee01566678babbc//
and also Qt build for ARC.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
---
 package/qt/qt.mk | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Khem Raj Aug. 19, 2016, 5:21 p.m. UTC | #1
> On Aug 19, 2016, at 9:18 AM, Vlad Zakharov <Vladislav.Zakharov@synopsys.com> wrote:
> 
> 'std::auto_ptr' is deprecated with gcc-6 but is used in qt4 code.
> So we have to build using old C++ standart to prevent build failures.
> 
> qt4 is not being developed no more, so unfortunately we can't update
> obsolete C++ code and have to add this workaround.
> 
> Fixes:
> http://autobuild.buildroot.net/results/541/54172d55f39b2fcfa5b7fb4d4ee01566678babbc//
> and also Qt build for ARC.
> 
> Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
> ---
> package/qt/qt.mk | 5 +++++
> 1 file changed, 5 insertions(+)
> 
> diff --git a/package/qt/qt.mk b/package/qt/qt.mk
> index 09b8dc2..41cdd1a 100644
> --- a/package/qt/qt.mk
> +++ b/package/qt/qt.mk
> @@ -41,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
> QT_CXXFLAGS = $(TARGET_CXXFLAGS)
> QT_LDFLAGS = $(TARGET_LDFLAGS)
> 
> +# Qt WebKit build fails when gcc-6 is used for build.
> +# 'std::auto_ptr' is deprecated with gcc-6
> +# So, we have to use old c++ standart to prevent build failure
> +QT_CXXFLAGS += -std=gnu++98

you might add -Wno-deprecated as well.

> +
> # Qt has some assembly function that are not present in thumb1 mode:
> # Error: selected processor does not support Thumb mode `swp r3,r7,[r4]'
> # so, we desactivate thumb mode
> --
> 2.6.3
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Alexey Brodkin Aug. 19, 2016, 8:01 p.m. UTC | #2
Hi Khem,

On Fri, 2016-08-19 at 10:21 -0700, Khem Raj wrote:
> > 
> > On Aug 19, 2016, at 9:18 AM, Vlad Zakharov <Vladislav.Zakharov@synopsys.com> wrote:
> > 
> > 'std::auto_ptr' is deprecated with gcc-6 but is used in qt4 code.
> > So we have to build using old C++ standart to prevent build failures.
> > 
> > qt4 is not being developed no more, so unfortunately we can't update
> > obsolete C++ code and have to add this workaround.
> > 
> > Fixes:
> > http://autobuild.buildroot.net/results/541/54172d55f39b2fcfa5b7fb4d4ee01566678babbc//
> > and also Qt build for ARC.
> > 
> > Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
> > ---
> > package/qt/qt.mk | 5 +++++
> > 1 file changed, 5 insertions(+)
> > 
> > diff --git a/package/qt/qt.mk b/package/qt/qt.mk
> > index 09b8dc2..41cdd1a 100644
> > --- a/package/qt/qt.mk
> > +++ b/package/qt/qt.mk
> > @@ -41,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
> > QT_CXXFLAGS = $(TARGET_CXXFLAGS)
> > QT_LDFLAGS = $(TARGET_LDFLAGS)
> > 
> > +# Qt WebKit build fails when gcc-6 is used for build.
> > +# 'std::auto_ptr' is deprecated with gcc-6
> > +# So, we have to use old c++ standart to prevent build failure
> > +QT_CXXFLAGS += -std=gnu++98
> 
> you might add -Wno-deprecated as well.

Why would we need it if "-std=gnu++98" already fixes the build problem?

-Alexey
Khem Raj Aug. 19, 2016, 8:43 p.m. UTC | #3
> On Aug 19, 2016, at 1:01 PM, Alexey Brodkin <Alexey.Brodkin@synopsys.com> wrote:
> 
> Hi Khem,
> 
> On Fri, 2016-08-19 at 10:21 -0700, Khem Raj wrote:
>>> 
>>> On Aug 19, 2016, at 9:18 AM, Vlad Zakharov <Vladislav.Zakharov@synopsys.com> wrote:
>>> 
>>> 'std::auto_ptr' is deprecated with gcc-6 but is used in qt4 code.
>>> So we have to build using old C++ standart to prevent build failures.
>>> 
>>> qt4 is not being developed no more, so unfortunately we can't update
>>> obsolete C++ code and have to add this workaround.
>>> 
>>> Fixes:
>>> http://autobuild.buildroot.net/results/541/54172d55f39b2fcfa5b7fb4d4ee01566678babbc//
>>> and also Qt build for ARC.
>>> 
>>> Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
>>> ---
>>> package/qt/qt.mk | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>> 
>>> diff --git a/package/qt/qt.mk b/package/qt/qt.mk
>>> index 09b8dc2..41cdd1a 100644
>>> --- a/package/qt/qt.mk
>>> +++ b/package/qt/qt.mk
>>> @@ -41,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
>>> QT_CXXFLAGS = $(TARGET_CXXFLAGS)
>>> QT_LDFLAGS = $(TARGET_LDFLAGS)
>>> 
>>> +# Qt WebKit build fails when gcc-6 is used for build.
>>> +# 'std::auto_ptr' is deprecated with gcc-6
>>> +# So, we have to use old c++ standart to prevent build failure
>>> +QT_CXXFLAGS += -std=gnu++98
>> 
>> you might add -Wno-deprecated as well.
> 
> Why would we need it if "-std=gnu++98" already fixes the build problem?

IIRC there were issues when -werror was on, there still were warnings
on some architectures, may be in BR such a case is not encountered yet.

> 
> -Alexey
Thomas Petazzoni Aug. 19, 2016, 9:08 p.m. UTC | #4
Hello,

On Fri, 19 Aug 2016 19:18:43 +0300, Vlad Zakharov wrote:
> 'std::auto_ptr' is deprecated with gcc-6 but is used in qt4 code.
> So we have to build using old C++ standart to prevent build failures.

Nit: we say "standard" and not "standart" in english. I've fixed that
up, and applied your patch to master. Thanks!

Thomas
diff mbox

Patch

diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 09b8dc2..41cdd1a 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -41,6 +41,11 @@  QT_CFLAGS = $(TARGET_CFLAGS)
 QT_CXXFLAGS = $(TARGET_CXXFLAGS)
 QT_LDFLAGS = $(TARGET_LDFLAGS)
 
+# Qt WebKit build fails when gcc-6 is used for build.
+# 'std::auto_ptr' is deprecated with gcc-6 
+# So, we have to use old c++ standart to prevent build failure
+QT_CXXFLAGS += -std=gnu++98
+
 # Qt has some assembly function that are not present in thumb1 mode:
 # Error: selected processor does not support Thumb mode `swp r3,r7,[r4]'
 # so, we desactivate thumb mode