Skip to contentSkip to conversation

qt: build using old C++ standart

PATCH New Vlad Zakharov 4 participants 5 messages Aug 19, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qt: build using old C++ standart

'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.

---
 package/qt/qt.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/qt/qt.mk +5 -0
index 09b8dc2..41cdd1a 100644
@@ -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
Signature · 1 line
2.6.3
#1 lore raw

PATCH 1/1 qt: build using old C++ standart

Quoted 23 lines · Vlad Zakharov

'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.

---
package/qt/qt.mk | 5 +++++

1 file changed, 5 insertions(+)
package/qt/qt.mk +0 -0
index 09b8dc2..41cdd1a 100644

package/qt/qt.mk QT_CFLAGS = $(TARGET_CFLAGS) · line 47

Quoted 7 lines
package/qt/qt.mk +4 -0
@@ -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.

Quoted 11 lines
package/qt/qt.mk +1 -1
+
 # 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 at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160819/de25c515/attachment.asc>

#2 lore raw

PATCH 1/1 qt: build using old C++ standart

Hi Khem,

Quoted 26 lines · Khem Raj
Quoted 26 lines · Vlad Zakharov

'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.

---
package/qt/qt.mk | 5 +++++

1 file changed, 5 insertions(+)
package/qt/qt.mk +0 -0
index 09b8dc2..41cdd1a 100644
@@ -41,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
 QT_CXXFLAGS = $(TARGET_CXXFLAGS)
 QT_LDFLAGS = $(TARGET_LDFLAGS)
 
Quoted 6 lines

package/qt/qt.mk QT_CFLAGS = $(TARGET_CFLAGS) · line 47

Quoted 4 lines
package/qt/qt.mk +4 -0
+# 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

#3 lore raw

PATCH 1/1 qt: build using old C++ standart

Quoted 32 lines · Alexey Brodkin

Hi Khem,

Quoted 26 lines · Khem Raj
Quoted 26 lines · Vlad Zakharov

'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.

---
package/qt/qt.mk | 5 +++++

1 file changed, 5 insertions(+)
package/qt/qt.mk +0 -0
index 09b8dc2..41cdd1a 100644
@@ -41,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
 QT_CXXFLAGS = $(TARGET_CXXFLAGS)
 QT_LDFLAGS = $(TARGET_LDFLAGS)
 
Quoted 8 lines
Quoted 6 lines

package/qt/qt.mk QT_CFLAGS = $(TARGET_CFLAGS) · line 47

Quoted 4 lines
package/qt/qt.mk +4 -0
+# 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.

Quoted 2 lines

-Alexey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160819/b81239b8/attachment.asc>

#4 lore raw

PATCH 1/1 qt: build using old C++ standart

In reply to Vlad Zakharov

Hello,

Quoted 2 lines · Vlad Zakharov

'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

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com