Split supported architectures for Qt Script and Qt Webkit
Dear all,
please I would like you read this email and provide some feedback before I start writing a patch.
Currently in Buildroot we have a BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT variable indicating which architectures support Qt Webkit. We also make Qt Script depending on that variable, so we are assuming that Qt Script is supported for exactly the same architectures which support Qt Webkit, and that's not true.
So I have done some tests to make clear which architectures support Qt Script and which ones support Qt Webkit, in order to create another variable called BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT.
That way we will be able to fix some problems we can't fix properly right now. For instance, Qt Webkit is not supported for MIPS64 when using the n32 ABI, but Qt Script is actually supported. So, if we make BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT depending on !BR2_MIPS_NABI32 we will also disable Qt Script, because as I said before, Qt Script depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT, and we don't want that because Qt Script works.
Related:
http://lists.busybox.net/pipermail/buildroot/2014-November/111760.html
I have also included Grantlee in the tests because is the only package which depends on Qt Script, so at the same time I do the tests we can know which architectures do support Qt Script but don't support Grantlee. There isn't any package depending on Qt Webkit.
I have assigned a code to each kind of problem I have found, and the meaning of those codes are just below the table.
+------------------+-----------+-----------+----------+--------------+ | Architecture | Qt Script | Qt Webkit | Grantlee | Problem Code | +------------------+-----------+-----------+----------+--------------+ | BR2_arcle | NO | NO | NO | 1 | | BR2_arceb | NO | NO | NO | 1 | | BR2_arm | YES | YES | YES | | | BR2_armeb | YES | YES | YES | | | BR2_aarch64 | YES | NO | YES | 2 | | BR2_bfin | NO | NO | NO | 1 | | BR2_i386 | YES | YES | YES | | | BR2_microblazeel | YES | YES | NO | 3 | | BR2_microblazebe | YES | YES | NO | 3 | | BR2_mips | YES | YES | YES | | | BR2_mipsel | YES | YES | YES | | | BR2_mips64 | YES | YES | YES | | | BR2_mips64el | YES | YES | YES | | | BR2_nios2 | YES | NO | NO | 4 | | BR2_powerpc | YES | YES | YES | | | BR2_powerpc64 | YES | YES | YES | | | BR2_powerpc64el | YES | YES | YES | | | BR2_sh | YES | YES | YES | | | BR2_sh64 | NO | NO | NO | 5 | | BR2_sparc | NO | NO | NO | 5 | | BR2_x86_64 | YES | YES | YES | | | BR2_xtensa | NO | NO | NO | 1 | +------------------+-----------+-----------+----------+--------------+
Problem 1
---------
There is no toolchain with NPTL for this architecture
Problem 2
---------
Qt Webkit fails to compile for aarch64:
In file included from runtime/JSCell.h:31:0,
from runtime/JSObject.h:31,
from wtf/DateMath.cpp:79:runtime/JSValueInlineMethods.h: In constructor ?JSC::JSValue::JSValue(JSC::JSCell*)?:runtime/JSValueInlineMethods.h:230:57: error: cast from ?JSC::JSCell*? to ?int32_t {aka int}? loses precision [-fpermissive]
u.asBits.payload = reinterpret_cast<int32_t>(ptr);
^Problem 3
---------
Grantlee fails to link for microblaze:
microblaze-buildroot-linux-gnu/bin/ld: fde encoding in CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_frame) prevents .eh_frame_hdr table being created. microblaze-buildroot-linux-gnu/4.9.2/../../../../microblaze-buildroot-linux-gnu/bin/ld:
fde encoding in CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_framecollect2: error: ld returned 1 exit status
microblaze-buildroot-linux-gnu/4.9.2/make[3]: ../.*** [textdocument/lib/libgrantlee_gui.so.0.2.0] Error 1.
Problem 4
---------
Qt Gui fails to link for nios2. Both Qt Webkit and Grantlee packages depend on Qt Gui:
linking ../../lib/libQtGui.so.4.8.6 /home/ldap/vriera/work/mips-buildroots/mips32/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/4.8.3/../../../../nios2-linux-gnu/bin/ld:
BFD (Sourcery CodeBench Lite 2014.05-47) 2.24.51.20140217 assertion fail /scratch/sandra/nios2-linux-respin/obj/binutils-src-2014.05-47-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:1037
Problem 5
---------
I'm unable to build a toolchain for this architecture, and there isn't any external toolchain available.
Best regards,
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Processor IP Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
Quoted 103 lines · Vicente Olivert Riera
Dear all,
please I would like you read this email and provide some feedback before I start writing a patch.
Currently in Buildroot we have a
BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKITvariable indicating which architectures support Qt Webkit. We also make Qt Script depending on that variable, so we are assuming that Qt Script is supported for exactly the same architectures which support Qt Webkit, and that's not true.So I have done some tests to make clear which architectures support Qt Script and which ones support Qt Webkit, in order to create another variable called
BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT.That way we will be able to fix some problems we can't fix properly right now. For instance, Qt Webkit is not supported for MIPS64 when using the n32 ABI, but Qt Script is actually supported. So, if we make
BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKITdepending on !BR2_MIPS_NABI32 we will also disable Qt Script, because as I said before, Qt Script depends onBR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT, and we don't want that because Qt Script works.Related:
http://lists.busybox.net/pipermail/buildroot/2014-November/111760.htmlI have also included Grantlee in the tests because is the only package which depends on Qt Script, so at the same time I do the tests we can know which architectures do support Qt Script but don't support Grantlee. There isn't any package depending on Qt Webkit.
I have assigned a code to each kind of problem I have found, and the meaning of those codes are just below the table.
+------------------+-----------+-----------+----------+--------------+ | Architecture | Qt Script | Qt Webkit | Grantlee | Problem Code | +------------------+-----------+-----------+----------+--------------+ | BR2_arcle | NO | NO | NO | 1 | | BR2_arceb | NO | NO | NO | 1 | | BR2_arm | YES | YES | YES | | | BR2_armeb | YES | YES | YES | | | BR2_aarch64 | YES | NO | YES | 2 | | BR2_bfin | NO | NO | NO | 1 | | BR2_i386 | YES | YES | YES | | | BR2_microblazeel | YES | YES | NO | 3 | | BR2_microblazebe | YES | YES | NO | 3 | | BR2_mips | YES | YES | YES | | | BR2_mipsel | YES | YES | YES | | | BR2_mips64 | YES | YES | YES | | | BR2_mips64el | YES | YES | YES | | | BR2_nios2 | YES | NO | NO | 4 | | BR2_powerpc | YES | YES | YES | | | BR2_powerpc64 | YES | YES | YES | | | BR2_powerpc64el | YES | YES | YES | | | BR2_sh | YES | YES | YES | | | BR2_sh64 | NO | NO | NO | 5 | | BR2_sparc | NO | NO | NO | 5 | | BR2_x86_64 | YES | YES | YES | | | BR2_xtensa | NO | NO | NO | 1 | +------------------+-----------+-----------+----------+--------------+Problem 1
---------
There is no toolchain with NPTL for this architectureProblem 2
---------
Qt Webkit fails to compile for aarch64:In file included from
runtime/JSCell.h:31:0,
fromruntime/JSObject.h:31,
from wtf/DateMath.cpp:79:runtime/JSValueInlineMethods.h: In constructor ?JSC::JSValue::JSValue(JSC::JSCell*)?:runtime/JSValueInlineMethods.h:230:57: error: cast from ?JSC::JSCell*? to ?int32_t {aka int}? loses precision [-fpermissive]u.asBits.payload = reinterpret_cast<int32_t>(ptr); ^Problem 3
---------
Grantlee fails to link for microblaze:microblaze-buildroot-linux-gnu/bin/ld: fde encoding in CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_frame) prevents .eh_frame_hdr table being created. microblaze-buildroot-linux-gnu/4.9.2/../../../../microblaze-buildroot-linux-gnu/bin/ld:
fde encoding in CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_framecollect2: error: ld returned 1 exit status
microblaze-buildroot-linux-gnu/4.9.2/make[3]: ../.*** [textdocument/lib/libgrantlee_gui.so.0.2.0] Error 1.Problem 4
---------
Qt Gui fails to link for nios2. Both Qt Webkit and Grantlee packages depend on Qt Gui:linking ../../lib/libQtGui.so.4.8.6
/home/ldap/vriera/work/mips-buildroots/mips32/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/4.8.3/../../../../nios2-linux-gnu/bin/ld:
BFD (Sourcery CodeBench Lite 2014.05-47) 2.24.51.20140217 assertion fail /scratch/sandra/nios2-linux-respin/obj/binutils-src-2014.05-47-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:1037
Quoted 7 lines
Problem 5
---------
I'm unable to build a toolchain for this architecture, and there isn't any external toolchain available.Best regards,
Nobody? :-(
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Processor IP Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
Dear all,
please I would like you read this email and provide some feedback before I start writing a patch.
Thanks for investigating!
Quoted 8 lines
I have assigned a code to each kind of problem I have found, and the meaning of those codes are just below the table.
+------------------+-----------+-----------+----------+--------------+ | Architecture | Qt Script | Qt Webkit | Grantlee | Problem Code | +------------------+-----------+-----------+----------+--------------+ | BR2_aarch64 | YES | NO | YES | 2 | | BR2_nios2 | YES | NO | NO | 4 |
So the only ones not covered today are these two, right? What about the mips variant you mentioned above?
The BR2_aarch64 issue will presumably be solved in future qtwebkit releases once the arch gets a bit more used. The nios issue is an internal compiler error, that is less likely to get fixed (until a new compiler is released atleast).
Signature · 1 line
Bye, Peter Korsgaard
Dear Peter Korsgaard,
first of all, thank you very much for taking your time to read the email.
Quoted 11 lines · Peter Korsgaard
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
Dear all,
please I would like you read this email and provide some feedback before I start writing a patch.Thanks for investigating!
Quoted 2 lines
I have assigned a code to each kind of problem I have found, and the meaning of those codes are just below the table.
Quoted 8 lines
Quoted 5 lines
+------------------+-----------+-----------+----------+--------------+ | Architecture | Qt Script | Qt Webkit | Grantlee | Problem Code | +------------------+-----------+-----------+----------+--------------+ | BR2_aarch64 | YES | NO | YES | 2 | | BR2_nios2 | YES | NO | NO | 4 |So the only ones not covered today are these two, right? What about the mips variant you mentioned above?
Well, QT Webkit fails to compile for aarch64, but for nios2 is different. The package which fails is Qt Gui, which is a dependence of Qt Webkit. So, is not Qt Webkit the one which is failing for nios2, is Qt Gui. But of course, if you can't have Qt Gui, you can't have Qt Webkit either :P
The MIPS variant which fails to compile Qt Webkit is MIPS64 n32 ABI. I will state that when I write the patch.
Quoted 4 lines
The
BR2_aarch64issue will presumably be solved in future qtwebkit releases once the arch gets a bit more used. The nios issue is an internal compiler error, that is less likely to get fixed (until a new compiler is released atleast).
Ok.
Cheers,
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Platforms Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com