CentOS 6.8にqtbindings-4.8.6.2

2017/03/08 7:36 に 森山誠二郎 が投稿   [ 2018/04/06 1:50 に更新しました ]
qtbindings-4.8.6.3だと、以下のようなエラーになる
CMake Error at smoke/qtcore/QtGuess.txt:134 (if):
  if given arguments:

    "EQUAL" "0"

  Unknown arguments specified
Call Stack (most recent call first):
  smoke/qtcore/CMakeLists.txt:14 (include)

(追記)2017/4/7
 CentOS6のgcc 4.4.7では、以下のエラーがでる
/usr/bin/c++    -std=c++03    -o CMakeFiles/cmTryCompileExec55290558.dir/CheckSymbolExists.cxx.o -c /usr/local/anagix_tools/lib/ruby/gems/2.1.0/gems/qtbindings-4.8.6.3/ext/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
cc1plus: error: unrecognized command line option "-std=c++03"
以下のようにdevtools-2を入れれば OK
    参考: http://transparent-to-radiation.blogspot.jp/2016/07/centos6gcc-48.html
# wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo # yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
 注意: scl enable devtoolset-2 bash は、python2ベース

4.8.6.2だと成功する
  qtは、qt-4.8.5 (qtbindings 4.8.6.3のREADMEにqt-4.8.7とqt-5はサポートしてないとかかれている)
  gcc -v = 4.4.7

(2017-6-23追記)ruby 2.3.4では、qtbindingsのインストールは成功するものの、以下のエラーがでる:
 /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /home/anagix/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/2.3/qtruby4.so (LoadError)
        from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/anagix/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/Qt4.rb:17:in `<top (required)>'
        from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
        from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
        from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
        from alta.rb:33:in `<main>'


(2018-4-6追記)
ruby 2.3.4でbundle installするとqtbindingsでエラー。最初 export QTDIR=/usr/local/anagix_tools/qt-4.8.5にしたらqtbindingsのインストールはできたが、ruby alta.rbすると、
/home/moriyama/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/Qt4.rb:17:in `require': incompatible library version - /home/moriyama/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/2.3/qtruby4.so (LoadError)
というエラー。
/usr/local/anagix_tools/qt-4を使うのは止めにし、QTDIRをunsetした。
yum install qt4-devel し、bundle installすると、以下のようなエラー:
/lib64/libc.so.6: version `GLIBC_2.15' not found (required by /usr/local/anagix_tools/qt-4/lib/libQtCore.so.4)
LD_LIBRARY_PATHから、/usr/local/anagix_tools/qt-4/libを外すとこのエラーはなくなった。libQtCore.so.4などは多分ubuntuで作ったため、GLIBC_2.15が
使われているが、centosのglibcは2.12と古い(ldd --versionで確認できる。)

結局、すなおに以下のようにすればqtbindingsはインストールできる。
 1。yum install qt4-devel
 2。QTDIR、LD_LIBRARY_PATHが設定されてないことを確認し、
 3。bundle install
これで解決かと思いきや、(2017ー6ー23)と同じエラーで失敗!
 ruby alta.rb
/opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /home/moriyama/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/2.3/qtruby4.so (LoadError)
    from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/moriyama/.gem/ruby/2.3.4/gems/qtbindings-4.8.6.2/lib/Qt4.rb:17:in `<top (required)>'
    from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
    from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
    from /opt/rubies/2.3.4/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
    from alta.rb:33:in `<main>'
--------------------------
centos6.8で、
ruby 2.5.1でgcc 4.8.2 (devtool-2)、gem install qtbindings -v=4.8.6.4は成功するが、以下のincompatible library versionエラーが発生する。
ruby alta.rb
.[1mTraceback.[m (most recent call last):
    6: from alta.rb:33:in `<main>'
    5: from /opt/rubies/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'
    4: from /opt/rubies/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
    3: from /opt/rubies/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `require'
    2: from /home/moriyama/.gem/ruby/2.5.1/gems/qtbindings-4.8.6.4/lib/Qt4.rb:25:in `<top (required)>'
    1: from /opt/rubies/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/opt/rubies/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': .[1mincompatible library version - /home/moriyama/.gem/ruby/2.5.1/gems/qtbindings-4.8.6.4/lib/2.5/qtruby4.so (.[1;4mLoadError.[gm.[1m)
Comments