Unable to compile for BlackBerry 10 Target- Windows and Linux Hosts
-
Hello All:
I am in a great need to compile QtWebKit 5.0 for BB10, since Beta 3 Cascades comes without the control. There is some built-in WebView control, which cannot be used for my purposes, namely- rendering HTML to image.
I attempted to compile on 3 different environments- Windows 7 64-bit, Windows 8 64-bit and Ubuntu Linux 12.10 32-bit. On all three systems I got exactly the same error message at the same place- when compiling "LowLevelInterpreter.cpp" file:
qcc -Vgcc_ntoarmv7le -c -fstack-protector-strong -Wno-psabi -lang-c++ -O2 {OMITTED FOR CLARITY} -IC:/SDKs/qt5/qtbase/mkspecs/blackberry-armv7le-qcc -I. -I. -I. -I../../Source -I../WTF -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Idisassembler -Iinterpreter -Ijit -Illint -Iparser -Iprofiler -Iruntime -Itools -Iyarr -IAPI -IForwardingHeaders -Igenerated -I../../Source -IC:/SDKs/qt5/webkit/Source/include -I../WTF -IC:/SDKs/qt5install/include -IC:/SDKs/qt5install/include/QtCore -IC:/SDKs/bbndk/target_10_0_9_386/qnx6/usr/include -IC:/SDKs/bbndk/target_10_0_9_386/qnx6/usr/include/freetype2 -o obj/release/llint/LowLevelInterpreter.obj llint/LowLevelInterpreter.cpp llint/LowLevelInterpreter.cpp:331:35: fatal error: LLIntAssembly.h: No such file or directory compilation terminated.
I've omitted most compiler parameters for clarity. I've seen some reports of this happening when compiling on Windows 64-bit, but as I mentioned this also happens on Ubuntu Linux 32-bit.
I followed precisely all instructions from http://qt-project.org/wiki/Building-Qt5-for-Blackberry, http://qt-project.org/wiki/Building-QtWebKit-for-Blackberry and http://qt-project.org/wiki/Building_Qt_5_from_Git
I used the following tools / libraries / compiler on Windows 7, 8:
- BlackBerry Cascades SDK Beta 3
- Compiler: mingw32-make (Installer mingw-get-inst-20120426.exe)
- ActivePerl 5.16.1, Python 3.3
Linux:
- BlackBerry Cascades SDK Beta 3
- Compiler: make
- All the dependencies from http://qt-project.org/wiki/Building_Qt_5_from_Git
I compiled ICU library using mingw32 msys prompt as described on Building_Qt_5_from_Git
"configure" line was the same on Windows and Linux:
./configure -prefix {INSTALL_FOLDER} -xplatform blackberry-armv7le-qcc -opengl es2 -nomake docs -nomake examples -nomake demos -nomake tests -opensource -confirm-license -release -no-neon
All the environment variables for NDK, compiler, etc were registered.
Building "qtcore" succeeded without issues. "qmake" for "webkit" succeeded, but compiling failed with the above error message.
Any ideas on how to solve this? Do you have any stable code that is known to compile successfully for BB10 on Windows?
Thanks,
Michael
-
I think I found the cause of this problem. Located in "DerivedSources.pri" under JavaScriptCore there is this piece of make code:
if(linux-*|win32):!equals(QT_ARCH, "arm") {
#GENERATOR: LLInt
llint.output = ${QMAKE_FILE_IN_PATH}$${QMAKE_DIR_SEP}LLIntAssembly.h
llint.script = $$PWD/offlineasm/asm.rb
llint.input = LLINT_FILES
llint.depends = $$LLINT_DEPENDENCY
llint.commands = ruby $$llint.script $$LLINT_ASSEMBLER ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
GENERATORS += llint
}I believe since my host systems were linux or Windows, and target architecture was "arm", the generator for "LLIntAssembly.h" was never called. But, for some reason the include file is still references in source code, even if it is not generated.
Does anyone know how to solve this? Should I force H file generation, or look deeper than that?
-
Anyone? Why is LLINT file generation disabled in makefile for Blackberry target, but the missing files are still being referenced in compiled source code? What's the way to fix that?