CentOS5にQt4,KLayout,Qt4Rubyをインストール
Post date: 2011/01/13 6:10:08
これらをアナジックスのツール群と同じ/home/anagix/anagix_toolsに入れる
1.Qt(~/anagix_tools/src/qt-everywhere-opensource-src-4.7.1/)のコンパイルにg++が
必要なので、yum install g++ と、yum install gcc-c++
X11/Xlib.h: No such file or directoryといわれるので、yum install xorg-x11-proto-devel
/usr/bin/ld: cannot find -lXextといわれるので、yum install libXext-devel
OpenGLのために、yum install mesa* freeglut-devel
2.OPENSSL_LIBS='-L/home/anagix/anagix_tools/lib -lssl -lcrypto' ./configure -v -I /usr/include/dbus-1.0 -I /usr/lib/dbus-1.0/include -prefix ~/anagix_tools/qt-4.7.1 -openssl-linked -I/home/anagix/anagix_tools/include -nomake demos -nomake examples -qt3support -no-phonon -no-phonon-backend -no-webkit -dbus-linked -opengl
注意: -qt3support はKLayoutのために必要
-dbus-linked -openglはQt4Rubyのために必要
以下のエラーが出たが、export LD_LIBRARY_PATH=/home/anagix/anagix_tools/lib してmake
すれば通った。OPENSSL_LIBSの設CDS_CIC_INST_DIR定はCentOSでは有効でないのかもしれない。
/usr/bin/ld: warning: libssl.so.0.9.8, needed by /home/anagix/anagix_tools/src/qt-everywhere-opensou\
rce-src-4.7.1/lib/libQtNetwork.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcrypto.so.0.9.8, needed by /home/anagix/anagix_tools/src/qt-everywhere-open\
source-src-4.7.1/lib/libQtNetwork.so, not found (try using -rpath or -rpath-link)
3.KLayout(klayout-0.21.3)のインストール
./build.sh -qt ~/anagix_tools/qt-4.7.1 -rblib ~/anagix_tools/lib/libruby-static.a -rbinc ~/anagix_tools/lib/ruby/1.8/i686-linux
4.cmake(cmake-2.8.3)のインストール
./bootstrap --prefix=/home/anagix/anagix_tools
make & make install
5.automoc(automoc4-0.9.88)のインストール
cmake -DCMAKE_INSTALL_PREFIX=/home/anagix/anagix_tools
make & make install でOK
6.Qt4Rubyのインストール
~/anagix_tools/src/qt4-qtruby-2.1.0 で、
export LD_LIBRARY_PATH=~/anagix_tools/qt-4.7.1/lib:/home/anagix/anagix_tools/lib
(これは要らなかったかもしれない)
export PATH=/home/anagix/anagix_tools/qt-4.7.1/bin:$PATH
と環境設定して
cmake -DCMAKE_INSTALL_PREFIX=~/anagix_tools -DRUBY_EXECUTABLE=~/anagix_tools/bin/ruby -DRUBY_INCLUDE_PATH=~/anagix_tools/lib/ruby/1.8/i686-linux -DRUBY_LIBRARY=~/anagix_tools/lib/libruby-static.a -Wno-dev -DENABLE_SMOKE=on -DENABLE_QTRUBY=on -DENABLE_QTWEBKIT_SMOKE=off -DENABLE_QTSCRIPT_SMOKE=off -DENABLE_QTUITOOLS_SMOKE=off -DENABLE_QTTEST_SMOKE=off -DENABLE_PHONON_SMOKE=off -DENABLE_QSCI_SMOKE=off -DENABLE_QWT_SMOKE=off -DENABLE_KDE_SMOKE=off -DENABLE_KDEVPLATFORM_SMOKE=off -DENABLE_KHTML_SMOKE=off -DENABLE_KTEXTEDITOR_SMOKE=off -DENABLE_SOLID_SMOKE=off -DENABLE_PLASMA_SMOKE=off -DENABLE_QTWEBKIT_RUBY=off -DENABLE_QTUITOOLS_RUBY=off -DENABLE_QTSCRIPT=off -DENABLE_QTTEST=off -DENABLE_PHONON_RUBY=off -DENABLE_QSCINTILLA_RUBY=off -DENABLE_QWT_RUBY=off -DENABLE_SOPRANO_RUBY=off -DENABLE_KDEVPLATFORM_RUBY=off -DENABLE_KORUNDUM_RUBY=off -DENABLE_KHTML_RUBY=off -DENABLE_KTEXTEDITOR_RUBY=off -DENABLE_SOLID_RUBY=off -DENABLE_KROSSRUBY=off -DENABLE_PLASMA_RUBY=off -DENABLE_QIMAGEBLITZ_SMOKE=off
RubyでQtRubyを使えること、およびKTLayoutでもQtRubyを使えることを確認できた。メデタシ
-----------------
2011-5-9 CentOS5.6に再度インストール。今回は、Qtは4.7.3。
1.Qtのconfigureでdbusが無いといわれたので、yum install dbus-devel
2.Qt4Rubyのコンパイルで以下のエラーが発生したので、missing.hの該当箇所をコメントアウトした。
/usr/include/unistd.h:268: error: declaration of ‘int eaccess(const char*, int) throw ()’ throws different exceptions
/home/anagix/anagix_tools/lib/ruby/1.8/i686-linux/missing.h:43: error: from previous declaration ‘int eaccess(const char*, int)’
QT4DIRを設定しなかった場合別のエラーが出て一度give upした。 LD_LIBRARY_PATHの設定はQt4Rubyのインストール
には不要だったようだ。
私の環境の場合、gem install qtbindings はエラーで止まってお手上げだった。
3.最後に、Qt4アプリを起動したところ、cannot restore segment prot after reloc: Permission deniedというエラーが出た。SElinuxに関係した以下のおまじないでOK.
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /home/anagix/anagix_tools/lib/ruby/site_ruby/1.8/i686-linux/qtruby4.so