Unable to compile QTWebEngine 5.8.1 git chromium spellchecker examples
-
For some reasons, when compiling the QTWebEngine 5.8.1-git chromium spellchecker examples, it needs to convert a dictionary with built-in compiled old icu v56.1, in that process no matter what i have tried, qwebengine_convert_dict.exe will always crashes.
I am compiling the QT 5.8.1-git using visual studio 2015 update 3 on windows 10 64 bit ent :
\configure -confirm-license -prefix %QT_DIST% -mp -debug-and-release -icu -system-sqlite -I C:\Dev\dependencies\sqlite3\include -L C:\Dev\dependencies\sqlite3\lib -sql-odbc -sql-psql -I C:\Dev\postgresql\x64\include -L C:\Dev\postgresql\x64\lib -sql-mysql -I C:\Dev\mysql\x64\include -L C:\Dev\mysql\x64\lib -system-zlib -I C:\Dev\dependencies\zlib\include -L C:\Dev\dependencies\zlib\lib -system-libjpeg -I C:\Users\nameless\Documents\Works\Compiling\jpeg-9b -L C:\Users\nameless\Documents\Works\Compiling\jpeg-9b -system-libpng -I C:\Users\nameless\Documents\Works\Deps\x64\VS2015\libpng\Static\Debug\include -L C:\Users\nameless\Documents\Works\Deps\x64\VS2015\libpng\Static\Debug\lib -gif -ico -v -icu -qt-pcre -qt-freetype -nomake tests -opensource -openssl-linked OPENSSL_LIBS_DEBUG="C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Debug\lib\ssleay32.lib C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Debug\lib\libeay32.lib" OPENSSL_LIBS_RELEASE="C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Release\lib\ssleay32.lib C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Release\lib\libeay32.lib" -platform win32-msvc2015
There is already 2 reported attempt on these problems, first is in here which is when 5.8.0 was in alpha, now is reported again in here.
-
For some reasons, when compiling the QTWebEngine 5.8.1-git chromium spellchecker examples, it needs to convert a dictionary with built-in compiled old icu v56.1, in that process no matter what i have tried, qwebengine_convert_dict.exe will always crashes.
I am compiling the QT 5.8.1-git using visual studio 2015 update 3 on windows 10 64 bit ent :
\configure -confirm-license -prefix %QT_DIST% -mp -debug-and-release -icu -system-sqlite -I C:\Dev\dependencies\sqlite3\include -L C:\Dev\dependencies\sqlite3\lib -sql-odbc -sql-psql -I C:\Dev\postgresql\x64\include -L C:\Dev\postgresql\x64\lib -sql-mysql -I C:\Dev\mysql\x64\include -L C:\Dev\mysql\x64\lib -system-zlib -I C:\Dev\dependencies\zlib\include -L C:\Dev\dependencies\zlib\lib -system-libjpeg -I C:\Users\nameless\Documents\Works\Compiling\jpeg-9b -L C:\Users\nameless\Documents\Works\Compiling\jpeg-9b -system-libpng -I C:\Users\nameless\Documents\Works\Deps\x64\VS2015\libpng\Static\Debug\include -L C:\Users\nameless\Documents\Works\Deps\x64\VS2015\libpng\Static\Debug\lib -gif -ico -v -icu -qt-pcre -qt-freetype -nomake tests -opensource -openssl-linked OPENSSL_LIBS_DEBUG="C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Debug\lib\ssleay32.lib C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Debug\lib\libeay32.lib" OPENSSL_LIBS_RELEASE="C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Release\lib\ssleay32.lib C:\Users\nameless\Documents\Works\Deps\x64\VS2015\OpenSSL\Static\Release\lib\libeay32.lib" -platform win32-msvc2015
There is already 2 reported attempt on these problems, first is in here which is when 5.8.0 was in alpha, now is reported again in here.
@echelon What happens if you add icu to your build? Or if you build with the specific version of icu that the webengine is trying to use? Or if you are currently using icu what happens if you -no-icu?
It's not a fix from the devs but it should get you past the build.
Or you could go in and fix the issue in the webkit build. I pretty much assume when I build Qt from source I will have to fix something somewhere. Especially in windows. I've had versions of Qt where I had to write at least 4 code patches to get it to build before. Some work right off the bat but a lot of times I end up having to fix something. One fix I remember was when Qt used a keyword that clang used as a compiler reserved word in their new compiler. So I had to write a patch to replace that keyword with a new one. So that was a long winded way to say you could go fix the problem, that is the cool thing about open source and building from source. Have a problem, no worries, you can patch it. ;)
And of course there's the obvious answer of just use the binary builds.
-
@echelon What happens if you add icu to your build? Or if you build with the specific version of icu that the webengine is trying to use? Or if you are currently using icu what happens if you -no-icu?
It's not a fix from the devs but it should get you past the build.
Or you could go in and fix the issue in the webkit build. I pretty much assume when I build Qt from source I will have to fix something somewhere. Especially in windows. I've had versions of Qt where I had to write at least 4 code patches to get it to build before. Some work right off the bat but a lot of times I end up having to fix something. One fix I remember was when Qt used a keyword that clang used as a compiler reserved word in their new compiler. So I had to write a patch to replace that keyword with a new one. So that was a long winded way to say you could go fix the problem, that is the cool thing about open source and building from source. Have a problem, no worries, you can patch it. ;)
And of course there's the obvious answer of just use the binary builds.
@ambershark
For some reasons i need unicode supports from icu in my projects, so far i have tried building qt 5.8.1-git with icu v58.2 & v57.1, as far i know for looking at icu readme on qtwebengine chromium, it uses v56.1, from the 5.7.1 through 5.8.0 final, they still indeed using icu v56.1.What is strange is i don't use any custom or different compiler toolkits other than visual studio 2015 update 3 vanilla installation, also spellchecker is enabled by default on qtwebengine 5.8.0 or 5.8.1-git. Yes on 5.7.1 i was also needed to patch here and and there on the code or qt build system in order to get the compilation that i am needed.
I am sure QT's company is using automated system to build those binaries, and isn't it's a bad practice to keep the compilation recipe for themselves while us tinkerer developer leave in pain. Also sometime there is immediate fixes that we are needed from those git branches, waiting for couple of months for minor version binary builds is not an option for me, also what is the different user who are only knows binary builds than us, creator, who loves fixing problems and starting from scratch.
For the icu, now i am starting to recompiling my qt 5.8.1-git toolkit with icu 56.1, i hopes this is only runtime and api problems. On 5.7.1, i can mix match between qtwebengine built-in icu and qt in general icu, i was using 58.1.
-
@ambershark
For some reasons i need unicode supports from icu in my projects, so far i have tried building qt 5.8.1-git with icu v58.2 & v57.1, as far i know for looking at icu readme on qtwebengine chromium, it uses v56.1, from the 5.7.1 through 5.8.0 final, they still indeed using icu v56.1.What is strange is i don't use any custom or different compiler toolkits other than visual studio 2015 update 3 vanilla installation, also spellchecker is enabled by default on qtwebengine 5.8.0 or 5.8.1-git. Yes on 5.7.1 i was also needed to patch here and and there on the code or qt build system in order to get the compilation that i am needed.
I am sure QT's company is using automated system to build those binaries, and isn't it's a bad practice to keep the compilation recipe for themselves while us tinkerer developer leave in pain. Also sometime there is immediate fixes that we are needed from those git branches, waiting for couple of months for minor version binary builds is not an option for me, also what is the different user who are only knows binary builds than us, creator, who loves fixing problems and starting from scratch.
For the icu, now i am starting to recompiling my qt 5.8.1-git toolkit with icu 56.1, i hopes this is only runtime and api problems. On 5.7.1, i can mix match between qtwebengine built-in icu and qt in general icu, i was using 58.1.
@echelon said in Unable to compile QTWebEngine 5.8.1 git chromium spellchecker examples:
For the icu, now i am starting to recompiling my qt 5.8.1-git toolkit with icu 56.1, i hopes this is only runtime and api problems. On 5.7.1, i can mix match between qtwebengine built-in icu and qt in general icu, i was using 58.1.
Hopefully that is the case. I find ICU to be a pain. I always end up with issues with distribution and Qt because of ICU. Lately I've stopped building with it, but the applications I've written recently only support english so I don't need the ICU stuff.
I know I should really support unicode though to allow for easy translations to other languages. It's always just such a hassle as you're seeing right now.
Let me know how it goes.