Post date: 2011/01/07 8:31:58
再挑戦したものの見事玉砕。CentOS4.8ではdbusのバージョンが低く、Qtをdbus付き
でインストールできません。dbusを独自にインストールすることも考えたが、あまりに道は厳しそうなので、CentOS5で再挑戦することに方針変更した。
以下は敗戦の記録です:
1. cmake(cmake-2.8.3)のインストール
./bootstrap --prefix=/home/anagix/anagix_tools
make & make install
2. automoc(automoc4-0.9.88)のインストール
cmake -DCMAKE_INSTALL_PREFIX=/home/anagix/anagix_tools
make & make install でOK
のはずが、Qtのqmakeが無いとしかられるので先に進む
システムにインストールされているmocが使われる...
3. Qt(qt-everywhere-opensource-src-4.7.1)のインストール
今回は、以下のように-no-accessibilityはやめた
OPENSSL_LIBS='-L/home/anagix/anagix_tools/lib -lssl -lcrypto' ./configure -prefix ~/anagix_tools/qt-4.7.1 -openssl-linked -I/home/anagix/anagix_tools/include -nomake demos -nomake examples -no-qt3support -no-phonon -no-phonon-backend -no-webkit
メモ
・最初、qtのインストール先を~/anagix_toolsにしていたが、~/anagix_tools/qt-4.7.1に変更した
~/anagix_tools/binに入っていたqmakeなどを削除し(これをしないとQT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as /home/anagix/anagix_tools/libというメッセージで悩む)、~/anagix_tools/qt-4.7.1/binをパスに加えて
qt4-rubyをコンパイルした
・klayoutでは、qt3supportが必要なことが判明したので、-qt3supportでコンパイルしなおした
・トラブルの記録:最初-staticでインストールし、次にダイナミックにかえた。何故かわからないが、
/plugins/imageformats以下に、 libqico.a、libqsvg.aしか作成されなかった。ダイナミックで、
以下のようなエラーで、libQtGui.soが作成されなかった(そのためklayoutのリンクに失敗)
.obj/release-shared/qimagereader.o(.text+0xdc1): In function `.L862':
: undefined reference to `QGifHandler::canRead(QIODevice*)'
4. QtRubyのインストールで、automoc4がないといわれるので、先に2をやっつけようとしたが
失敗。結局ubuntuで作成したautomoc4からコピーした(その後、どこかでmakeできた)
5.KLayout(klayout-0.21.3)のインストール
./build.sh -qt ~/anagix_tools -rblib ~/anagix_tools/lib/libruby-static.a -rbinc ~/anagix_tools/lib/ruby/1.8/i686-linux
今回は最終的にきれいにできた(ただし、QtRubyは動かない)
ポイントは、
・~/anagix_tools/qt-4.7.1/binをパスに入れる
・Qtをqt3supportでコンパイルする
6. QtRuby(qt4-qtruby-2.1.0)のインストール
CMakeLists.txtの指示に従い、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_S\
MOKE=off -DENABLE_PHONON_SMOKE=off -DENABLE_QSCI_SMOKE=off -DENABLE_QWT_SM\
OKE=off -DENABLE_KDE_SMOKE=off -DENABLE_KDEVPLATFORM_SMOKE=off -DENABLE_KH\
TML_SMOKE=off -DENABLE_KTEXTEDITOR_SMOKE=off -DENABLE_SOLID_SMOKE=off -DEN\
ABLE_PLASMA_SMOKE=off -DENABLE_QTWEBKIT_RUBY=off -DENABLE_QTUITOOLS_RUBY=of\
f -DENABLE_QTSCRIPT=off -DENABLE_QTTEST=off -DENABLE_PHONON_RUBY=off -DEN\
ABLE_QSCINTILLA_RUBY=off -DENABLE_QWT_RUBY=off -DENABLE_SOPRANO_RUBY=off -\
DENABLE_KDEVPLATFORM_RUBY=off -DENABLE_KORUNDUM_RUBY=off -DENABLE_KHTML_RUB\
Y=off -DENABLE_KTEXTEDITOR_RUBY=off -DENABLE_SOLID_RUBY=off -DENABLE_KROSS\
RUBY=off -DENABLE_PLASMA_RUBY=off -DENABLE_QIMAGEBLITZ_SMOKE=off
としたが、以下のエラーでストップ:
[ 50%] Building CXX object smoke/qtgui/CMakeFiles/smokeqtgui.dir/x_3.cpp.o
/home/anagix/anagix_tools/src/qt4-qtruby-2.1.0/smoke/qtgui/x_3.cpp:3947: error: base `QClipboard' with only non-default constructor in class without a constructor
ここでgive up
おまけ
1.QtRubyでdbusが必要とされているように見えたので、Qtをw/ dbus supportでコンパイルしようとしたが、
The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found.というエラーが
でる。Ubuntuではdbus-develがなく、pkg-configでdbusの情報を取れないのが原因のようだが、CentOSでは
dbus-develはありpkg-configは動く。configure に-vオプションをつけて原因がわかった:
configureのオプションとして -I /usr/include/dbus-1.0 -I /usr/lib/dbus-1.0/includeを指定する必要があった。
それでもCentOS4.8の場合、dbusのバージョンが古いようで、dbusつきではconfigureできない。