[Interest] Issues building Qt 5.4.0 on CentOS 5.

Simon Matthews simon at matthews.eu
Fri Feb 13 02:39:52 CET 2015



On Thu, 12 Feb 2015, Simon Matthews wrote:

>
>
> On Wed, 11 Feb 2015, Simon Matthews wrote:
>
>> 
>>
>>  On Wed, 11 Feb 2015, Thiago Macieira wrote:
>> 
>> >   On Wednesday 11 February 2015 19:17:02 Simon Matthews wrote:
>> > >   OK, nm. By the way, am I correct in my belief that for Qt 5.4.0, that
>> > >   Webkit depends on icu?
>> > 
>> >   Correct.
>>
>>  Thanks for confirming that. I did not want to waste time chasing down an
>>  issue that wasn't relevent to my problem.
>>
>>  Using the link and some slight modifications, I got Qt to build,
>>  apparently with ICU support, but, no Webkit. After installation, there are
>>  no files called
>>  /usr/lib/Qt/Qt-5.4.0-x86_64/lib/libQt5WebKit*
>>
>>  It looks like I need to figure out how to get it to build with fontconfig
>>  and maybe other options that I have disabled (multimedia?)
>>
>>  ./configure -R ‘\\\$$ORIGIN’ -D _X_INLINE=inline -D
>>  XK_dead_currency=0xfe6f -D XK_ISO_Level5_Lock=0xfe13 -D
>>  FC_WEIGHT_EXTRABLACK=215 -D FC_WEIGHT_ULTRABLACK=FC_WEIGHT_EXTRABLACK -v
>>  -opensource -qt-libpng -qt-zlib -qt-libjpeg  -nomake examples
>>  -qt-sql-sqlite -confirm-license -prefix /usr/lib/Qt/Qt-5.4.0-x86_64
>>  -widgets -no-openssl  -no-openssl -no-dbus -no-fontconfig -qt-xcb
>>  -no-opengl  -skip activeqt -skip androidextras -skip connectivity -skip
>>  enginio -skip location -skip macextras -skip multimedia -skip quick1 -skip
>>  sensors -skip serialport -skip wayland -skip webchannel -skip
>>  webkit-examples  -skip x11extras  -c++11 -icu
>
> I have progressed a little further, but seem to have come to a block. As I 
> wrote earlier, I need to build WebKit. According to the documentation, this 
> requires:
>
>     bison
>     flex
>     gperf
>     Ruby [ruby-lang.org]
>     ICU [site.icu-project.org]
>
> It also seems to require fontconfig.
>
> Since the versions of icu and fontconfig were too old, I built my own from 
> source, using fontconfig-2.8.0 and icu-4.2.1 (these versions are what are 
> used on CentOS 6, where I already had a successful build of Qt5).
>
> I am using the devtoolset-1.1 version of gcc (4.7.2).
>
> My configure command is forcing fontconfig and icu support:
> ./configure -R ‘\\\$$ORIGIN’ -D _X_INLINE=inline -D XK_dead_currency=0xfe6f 
> -D XK_ISO_Level5_Lock=0xfe13 -D FC_WEIGHT_EXTRABLACK=215 -D 
> FC_WEIGHT_ULTRABLACK=FC_WEIGHT_EXTRABLACK -v -opensource -qt-libpng -qt-zlib 
> -qt-libjpeg  -nomake examples -qt-sql-sqlite -confirm-license -prefix 
> /usr/lib/Qt/Qt-5.4.0-x86_64 -widgets -no-openssl  -no-dbus -qt-xcb -no-opengl 
> -skip activeqt -skip androidextras -skip connectivity -skip enginio -skip 
> location -skip macextras -skip multimedia -skip quick1 -skip sensors -skip 
> serialport -skip wayland -skip webchannel -skip webkit-examples  -skip 
> x11extras -c++11 -icu -fontconfig -I /usr/local/include/layout -I 
> /usr/local/include/unicode -L /usr/local/lib -L /usr/local/lib/icu
>
> This gets much further, but fails on Javascript:
> Creating JIT stubs for jit/JITStubs.cpp
> ruby 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/asm.rb 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 
> LLIntOffsetsExtractor generated/LLIntAssembly.h
> offlineasm: Parsing 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 
> and LLIntOffsetsExtractor and creating assembly file 
> generated/LLIntAssembly.h.
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb:111:in 
> `offsetsAndConfigurationIndex': undefined method `getbyte' for 
> #<File:LLIntOffsetsExtractor (closed)> (NoMethodError)
>        from 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb:110:in 
> `loop'
>        from 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb:110:in 
> `offsetsAndConfigurationIndex'
>        from 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb:108:in 
> `open'
>        from 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/offsets.rb:108:in 
> `offsetsAndConfigurationIndex'
>        from 
> /tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore/offlineasm/asm.rb:230
> make[3]: *** [generated/LLIntAssembly.h] Error 1
> make[3]: Leaving directory 
> `/tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore'
> make[2]: *** [sub-DerivedSources-pri-make_first-ordered] Error 2
> make[2]: Leaving directory 
> `/tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/JavaScriptCore'
> make[1]: *** 
> [sub-Source-JavaScriptCore-JavaScriptCore-pro-make_first-ordered] Error 2
> make[1]: Leaving directory 
> `/tmp/QT5-gcc47/qt-everywhere-opensource-src-5.4.0/qtwebkit'
> make: *** [module-qtwebkit-make_first] Error 2
>
> Any suggestions?


Answering my own question here, it looks like an issue with the version of 
Ruby. 'getbyte' seems to have been added or changed in Ruby 1.8.7.

Simon


More information about the Interest mailing list