package/qt: disable Qt GUI module for CS NiosII toolchain
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
The libQtGui.so build triggers an ld error with Binutils 2.25.1
Avoid (GCC 5.2 and Binutils 2.25.51):
http://autobuild.buildroot.net/results/c94/c945bce96966e5e39d093c4265058a66f749eea6
Similar (GCC 4.9.3 and Binutils 2.25.1):
http://autobuild.buildroot.net/results/ca9/ca981c419bfedb38c591f6e75151a943bc9535ef
--- 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 | 4 ++++ 6 files changed, 9 insertions(+)
package/grantlee/Config.in +1 -0
@@ -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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII if BR2_PACKAGE_QT # 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
@@ -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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # Qt GUI module select BR2_PACKAGE_QT select BR2_PACKAGE_QT_STL select BR2_PACKAGE_QT_GUI_MODULE
package/opencv3/Config.in +1 -0
@@ -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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # 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
@@ -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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # Qt GUI module select BR2_PACKAGE_QT select BR2_PACKAGE_QT_GUI_MODULE help
package/poppler/Config.in +1 -0
@@ -15,6 +15,7 @@ if BR2_PACKAGE_POPPLER config BR2_PACKAGE_POPPLER_QT bool "Qt support" depends on BR2_PACKAGE_QT + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # Qt GUI module select BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_XML help
package/qt/Config.in +4 -0
@@ -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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # 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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # 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_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # Qt GUI module select BR2_PACKAGE_QT_GUI_MODULE help If unsure, say N.
@@ -130,6 +133,7 @@ config BR2_PACKAGE_QT_QT3SUPPORT config BR2_PACKAGE_QT_GUI_MODULE bool "Gui Module" + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # triggers compiler bug with binutils 2.25 select BR2_PACKAGE_QT_NETWORK default y help
Signature · 1 line
2.4.3
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Dear Romain Naour,
Quoted 9 lines · Romain Naour
The libQtGui.so build triggers an ld error with Binutils 2.25.1
Avoid (GCC 5.2 and Binutils 2.25.51):
http://autobuild.buildroot.net/results/c94/c945bce96966e5e39d093c4265058a66f749eea6Similar (GCC 4.9.3 and Binutils 2.25.1):
http://autobuild.buildroot.net/results/ca9/ca981c419bfedb38c591f6e75151a943bc9535efSigned-off-by Romain Naour <[email protected]>
Can you check if the internal NIOSII toolchain also has this problem or not?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Hi Thomas
Le 24 d?c. 2015 08:39, "Thomas Petazzoni" <
[email protected]> a ?crit :
Quoted 8 lines
Dear Romain Naour,
Quoted 4 lines · Romain Naour
The libQtGui.so build triggers an ld error with Binutils 2.25.1
Avoid (GCC 5.2 and Binutils 2.25.51):
http://autobuild.buildroot.net/results/c94/c945bce96966e5e39d093c4265058a66f749eea6
Quoted 3 lines
Quoted 3 lines
Similar (GCC 4.9.3 and Binutils 2.25.1):
http://autobuild.buildroot.net/results/ca9/ca981c419bfedb38c591f6e75151a943bc9535ef
Quoted 5 lines
Quoted 2 lines
Signed-off-by Romain Naour <[email protected]>Can you check if the internal NIOSII toolchain also has this problem or not?
Actualy, the second build failure was with the internal NIOSII toolchain.
This patch doesn't avoid to select Qt GUI with the internal NIOSII toolchain :-/
Best regards,
Romain
Quoted 8 lines
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151224/5d7cf4d5/attachment.html>
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Romain,
Quoted 4 lines · Romain Naour
Quoted 2 lines
Can you check if the internal NIOSII toolchain also has this problem or not?
Actualy, the second build failure was with the internal NIOSII toolchain.
Then it would be good to report the bug to upstream binutils. And indeed, your patch needs to be adjusted then :)
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Thomas,
Le 24 d?c. 2015 09:19, "Thomas Petazzoni" <
[email protected]> a ?crit :
Quoted 6 lines
Romain,
Quoted 1 line · Romain Naour
Quoted 1 line
Can you check if the internal NIOSII toolchain also has this problem
or
Quoted 3 lines
Quoted 3 lines
Quoted 1 line
not?
Actualy, the second build failure was with the internal NIOSII
toolchain.
Quoted 3 lines
Then it would be good to report the bug to upstream binutils. And indeed, your patch needs to be adjusted then :)
I think this patch is ok as is because we black list Qt GUI only with the CS toolchain and there is nothing we can do to fix the issue. I will see latter if I found a Binutils patch for it, if not report the issue.
Quoted 6 lines
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151224/b355fd4b/attachment.html>
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Dear Romain Naour,
Quoted 4 lines · Romain Naour
I think this patch is ok as is because we black list Qt GUI only with the CS toolchain and there is nothing we can do to fix the issue. I will see latter if I found a Binutils patch for it, if not report the issue.
Well, since the problem also affects nios2 internal toolchains, I believe the dependencies should be !BR2_nios2, of course unless you find an existing binutils patch to fix the problem. But if you don't, then we will have to exclude nios2 entirely.
To be honest, the likeliness of having people using Qt GUI on nios2 is very small, if not zero. So we shouldn't care too much about this IMO.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Hi Thomas,
Le 24/12/2015 11:12, Thomas Petazzoni a ?crit :
Quoted 9 lines
Dear Romain Naour,
Quoted 4 lines · Romain Naour
I think this patch is ok as is because we black list Qt GUI only with the CS toolchain and there is nothing we can do to fix the issue. I will see latter if I found a Binutils patch for it, if not report the issue.
Quoted 4 lines
Well, since the problem also affects nios2 internal toolchains, I believe the dependencies should be !BR2_nios2, of course unless you find an existing binutils patch to fix the problem. But if you don't, then we will have to exclude nios2 entirely.
I greped in the Binutils git tree but I didn't see anything easy to backport to fixes the issue. I tried to build a nios2 toolchain with gcc 5.2.3 and the latest commit of the upcoming Binutils 2.26 release, and Qt GUI build fine.
I think we'll need to rebuild a new nios2 toolchain (with gcc 5.2.3 and binutils 2.26) to fix most of the build issues related to ld assertion fail or Assembler messages (libcap-ng).
Also Qt GUI is not the only one affected by this issue (gtkmm3):
http://autobuild.buildroot.net/results/3e2/3e2ad2de03b5e9f181332d06dcf860e51fcd47f8/build-end.log
(Ok, likely not very used on nios2 ether)
Quoted 3 lines
To be honest, the likeliness of having people using Qt GUI on nios2 is very small, if not zero. So we shouldn't care too much about this IMO.
Ok, let exclude Qt GUI on nios2 but other packages may have the same issue.
Best regards,
Romain
Quoted 5 lines
Thanks,
Thomas
PATCH 1/1 package/qt: disable Qt GUI module for CS NiosII toolchain
Hello,
Quoted 8 lines · Romain Naour
Quoted 4 lines
Well, since the problem also affects nios2 internal toolchains, I believe the dependencies should be !BR2_nios2, of course unless you find an existing binutils patch to fix the problem. But if you don't, then we will have to exclude nios2 entirely.
I greped in the Binutils git tree but I didn't see anything easy to backport to fixes the issue. I tried to build a nios2 toolchain with gcc 5.2.3 and the latest commit of the upcoming Binutils 2.26 release, and Qt GUI build fine.
Ah! This is interesting! I tested with binutils 2.25 and the gtkmm3 use case, and it was still failing, so I reported the bug upstream at
https://sourceware.org/bugzilla/show_bug.cgi?id=19405.
Quoted 3 lines
I think we'll need to rebuild a new nios2 toolchain (with gcc 5.2.3 and binutils 2.26) to fix most of the build issues related to ld assertion fail or Assembler messages (libcap-ng).
Interesting! I quickly tried to backport a few patches from binutils git on top of 2.25, but I still get the assertion fail when building gtkmm3.
Quoted 2 lines
Also Qt GUI is not the only one affected by this issue (gtkmm3):
http://autobuild.buildroot.net/results/3e2/3e2ad2de03b5e9f181332d06dcf860e51fcd47f8/build-end.log
Indeed.
Quoted 4 lines
Quoted 2 lines
To be honest, the likeliness of having people using Qt GUI on nios2 is very small, if not zero. So we shouldn't care too much about this IMO.
Ok, let exclude Qt GUI on nios2 but other packages may have the same issue.
I suggest to simply exclude all those packages on BR2_nios2, with maybe a comment "broken on existing external/internal toolchains, revisit when they are upgraded". In any case, such "big" packages are highly unlikely to ever be used on nios2.
Can you resend a patch adding a !BR2_nios2 dependency everywhere?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com