Skip to contentSkip to conversation

package/qt: disable Qt GUI module for NiosII

PATCH New Romain Naour 2 participants 5 messages Dec 28, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 package/qt: disable Qt GUI module for NiosII

The libQtGui.so build triggers an ld error with Binutils 2.25.1 which should be fixed with the upcoming Binutils 2.26 release. In the same time, the issue has been reported [1].

Although the Binutils issue is not fixed yet, disable Qt GUI module on nios2 since it's unlikely used on this plateform [2].

Avoid (GCC 5.2 and Binutils 2.25.51):
http://autobuild.buildroot.net/results/c94/c945bce96966e5e39d093c4265058a66f749eea6

Avoid (GCC 4.9.3 and Binutils 2.25.1):
http://autobuild.buildroot.net/results/ca9/ca981c419bfedb38c591f6e75151a943bc9535ef

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=19405
[2] http://lists.busybox.net/pipermail/buildroot/2015-December/148136.html

Cc Thomas Petazzoni <[email protected]>

---
v2: disable Qt GUI module for NiosII CPU, not only for the CS toolchain.
(ThomasP)

---
 package/grantlee/Config.in | 1 +
 package/opencv/Config.in   | 1 +
 package/opencv3/Config.in  | 1 +
 package/pinentry/Config.in | 1 +
 package/poppler/Config.in  | 1 +
 package/qt/Config.in       | 8 ++++++++
 6 files changed, 13 insertions(+)
package/grantlee/Config.in +1 -0
index 01ddacd..8284fd4 100644
@@ -3,6 +3,7 @@ config BR2_PACKAGE_GRANTLEE
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # Qt Script
 	depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT && BR2_PACKAGE_QT) || \
 		(BR2_PACKAGE_QT5_JSCORE_AVAILABLE && BR2_PACKAGE_QT5)
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT_STL if BR2_PACKAGE_QT
 	select BR2_PACKAGE_QT_SCRIPT if BR2_PACKAGE_QT
 	select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT
package/opencv/Config.in +1 -0
index 679ce6f..707fd4e 100644
@@ -210,6 +210,7 @@ config BR2_PACKAGE_OPENCV_WITH_QT
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_MMU # qt
 	depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT
 	select BR2_PACKAGE_QT_STL
 	select BR2_PACKAGE_QT_GUI_MODULE
package/opencv3/Config.in +1 -0
index 8736805..d22fd32 100644
@@ -84,6 +84,7 @@ comment "gtk3 support needs libgtk3"
 config BR2_PACKAGE_OPENCV3_WITH_QT
 	bool "qt4"
 	depends on BR2_PACKAGE_QT
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT_STL
 	select BR2_PACKAGE_QT_GUI_MODULE
 	select BR2_PACKAGE_QT_TEST
package/pinentry/Config.in +1 -0
index edf3316..650caa0 100644
@@ -40,6 +40,7 @@ config BR2_PACKAGE_PINENTRY_QT4
 	depends on BR2_USE_MMU # fork
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT
 	select BR2_PACKAGE_QT_GUI_MODULE
 	help
package/poppler/Config.in +1 -0
index fa4ce22..1d48293 100644
@@ -15,6 +15,7 @@ if BR2_PACKAGE_POPPLER
 config BR2_PACKAGE_POPPLER_QT
 	bool "Qt support"
 	depends on BR2_PACKAGE_QT
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT_GUI_MODULE
 	select BR2_PACKAGE_QT_XML
 	help
package/qt/Config.in +8 -0
index bf14724..4baeec0 100644
@@ -33,6 +33,7 @@ comment "Qt standard (X11) not available (need X.org)"
 config BR2_PACKAGE_QT_X11
 	bool "Qt standard (X11)"
 	depends on BR2_PACKAGE_XORG7
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_XLIB_LIBXI
 	select BR2_PACKAGE_XLIB_LIBX11
@@ -56,6 +57,7 @@ config BR2_PACKAGE_QT_DEBUG
 
 config BR2_PACKAGE_QT_DEMOS
 	bool "Compile and install Qt demos (with code)"
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT_GUI_MODULE
 	help
 	  If unsure, say N.
@@ -69,6 +71,7 @@ config BR2_PACKAGE_QT_TRANSLATION_FILES
 
 config BR2_PACKAGE_QT_EXAMPLES
 	bool "Compile and install Qt examples (with code)"
+	depends on !BR2_nios2 # Qt GUI module
 	select BR2_PACKAGE_QT_GUI_MODULE
 	help
 	  If unsure, say N.
@@ -130,6 +133,11 @@ config BR2_PACKAGE_QT_QT3SUPPORT
 
 config BR2_PACKAGE_QT_GUI_MODULE
 	bool "Gui Module"
+	# Broken on existing external/internal nios2 toolchains,
+	# revisit when they are upgraded with at least Binutils >= 2.26
+	# and GCC >= 5.3.
+	# https://sourceware.org/bugzilla/show_bug.cgi?id=19405
+	depends on !BR2_nios2
 	select BR2_PACKAGE_QT_NETWORK
 	default y
 	help
Signature · 1 line
2.4.3
#1 lore raw

PATCH v2 2/3 package/gtkmm3: reorder select/depends

From: Romain Naour <[email protected]>

From [1]:
"Even though the ordering has absolutely no consequences in Kconfig, it is not logical (when reading). It is more logical and far easier to understand when depends come first, followed by the selects."

Also, the Config.in exemple in the manual suggest to use this coding style [2].

[1] http://lists.busybox.net/pipermail/buildroot/2015-October/142955.html
[2] http://buildroot.uclibc.org/downloads/manual/manual.html#writing-rules-config-in

---
 package/gtkmm3/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
package/gtkmm3/Config.in +6 -6
index 30d3492..f617d83 100644
@@ -1,17 +1,17 @@
 config BR2_PACKAGE_GTKMM3
 	bool "gtkmm3"
-	select BR2_PACKAGE_ATKMM
-	select BR2_PACKAGE_CAIROMM
-	select BR2_PACKAGE_GLIBMM
-	select BR2_PACKAGE_LIBGTK3
-	select BR2_PACKAGE_LIBSIGC
-	select BR2_PACKAGE_PANGOMM
 	depends on BR2_ARCH_HAS_ATOMICS # libcairomm/libgtk3/libpangomm -> cairo
 	depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
 	depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/libgtk3 -> libglib2
 	depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2
 	depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2
+	select BR2_PACKAGE_ATKMM
+	select BR2_PACKAGE_CAIROMM
+	select BR2_PACKAGE_GLIBMM
+	select BR2_PACKAGE_LIBGTK3
+	select BR2_PACKAGE_LIBSIGC
+	select BR2_PACKAGE_PANGOMM
 	help
 	  The gtkmm3 package is a set of C++ bindings for GTK 3.
 
Signature · 1 line
2.4.3
#2 lore raw

PATCH v2 2/3 package/gtkmm3: reorder select/depends

Dear Romain Naour,

Quoted 10 lines · Romain Naour

From: Romain Naour <[email protected]>

From [1]:
"Even though the ordering has absolutely no consequences in Kconfig, it is not logical (when reading). It is more logical and far easier to understand when depends come first, followed by the selects."

Also, the Config.in exemple in the manual suggest to use this coding style [2].

Quoted 7 lines

[1] http://lists.busybox.net/pipermail/buildroot/2015-October/142955.html
[2] http://buildroot.uclibc.org/downloads/manual/manual.html#writing-rules-config-in

---
 package/gtkmm3/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Applied, thanks.

Thomas

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

PATCH v2 3/3 package/gtkmm3: disable for NiosII

In reply to Romain Naour

From: Romain Naour <[email protected]>

Like for Qt GUI module, disable for niosII to avoid an toolchain issue [1][2].

[1] http://lists.busybox.net/pipermail/buildroot/2015-December/148428.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=19405

Avoid:
http://autobuild.buildroot.net/results/3e2/3e2ad2de03b5e9f181332d06dcf860e51fcd47f8/

---
 package/gtkmm3/Config.in | 5 +++++
 1 file changed, 5 insertions(+)
package/gtkmm3/Config.in +5 -0
index f617d83..80dbbde 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_GTKMM3
 	bool "gtkmm3"
+	# Broken on existing external/internal nios2 toolchains,
+	# revisit when they are upgraded with at least Binutils >= 2.26
+	# and GCC >= 5.3.
+	# https://sourceware.org/bugzilla/show_bug.cgi?id=19405
+	depends on !BR2_nios2
 	depends on BR2_ARCH_HAS_ATOMICS # libcairomm/libgtk3/libpangomm -> cairo
 	depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
Signature · 1 line
2.4.3
#4 lore raw

PATCH v2 3/3 package/gtkmm3: disable for NiosII

Dear Romain Naour,

Quoted 8 lines · Romain Naour

From: Romain Naour <[email protected]>

Like for Qt GUI module, disable for niosII to avoid an toolchain issue [1][2].

[1] http://lists.busybox.net/pipermail/buildroot/2015-December/148428.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=19405

Quoted 7 lines

Avoid:
http://autobuild.buildroot.net/results/3e2/3e2ad2de03b5e9f181332d06dcf860e51fcd47f8/

---
 package/gtkmm3/Config.in | 5 +++++
 1 file changed, 5 insertions(+)

Applied, thanks.

Thomas

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