2003-10-22(水) 雨 [長年日記]
_ 野良 port KPhone
先日発見した KPhone の port でも作ってみようかと思い立ちました。Qt が必要なので
# pkg_add -v http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/qt-3.2.1.tbz
として package からインストールしました。まずは自作の port のスケルトンに
USE_QT_VER= 3 GNU_CONFIGURE= yes
を書き加えて make してみました。
checking for Qt... configure: error: Qt (>= Qt 2.2.2) (libraries) not found. Please check your installation!
qt をインストールしているのに怒られてしまいました。ここでかなり悩んだのですが、手元の Vine Linux と比較したらヒントが出てきました。
$ wget http://www.wirlab.net/kphone/kphone-3.12.tgz $ tar zxvf kphone-3.12.tgz $ cd kphone-3.12 $ ./configure (snip) checking for Qt... libraries /usr/lib/qt3/lib, headers /usr/lib/qt3/include (snip)
となって Linux の場合は scan がうまくいくようです。
$ ls /usr/lib/qt3/lib libqt-mt.so@ libqt-mt.so.3.1.2* libqt.so.3.1@ libqui.so.1@ libqt-mt.so.3@ libqt.so@ libqt.so.3.1.2* libqui.so.1.0@ libqt-mt.so.3.1@ libqt.so.3@ libqui.so@ libqui.so.1.0.0
Linux の Qt のライブラリはこんな感じです。一方、FreeBSD では
> locate libqt /usr/X11R6/lib/libqt-mt.prl /usr/X11R6/lib/libqt-mt.so /usr/X11R6/lib/libqt-mt.so.3 /usr/X11R6/lib/libqt-mt.so.3.2 /usr/X11R6/lib/libqt-mt.so.3.2.1
となります。おや? FreeBSD では libqt-ml しか無いのかな?というのが第一感でした。そこで何も考えず
> find /usr/ports -name Makefile -or -name "patch-*" | xargs grep libqt
として探しまくったところ libqt を libqt-mt に置換しているものがありました。そんなもんでいいのかなぁと軽い気持ちで work/kphone-3.12/configure を眺めていました。すると
5037 if test -z "$LIBQT"; then 5038 5039 LIBQT="-lqt" 5040 kde_int_qt="-lqt" 5041 5042 5043 if test "x$kde_use_qt_mt" = "xyes"; then 5044 5045 case $host in 5046 *-*-linux-*) 5047 if test "x$GCC" = "xyes"; then 5048 LIBQT="-lqt-mt" 5049 kde_int_qt="-lqt-mt" 5050 LIBQT_GLOB="libqt-mt.*" 5051 USING_QT_MT="using -mt" 5052 fi 5053 ;; 5054 esac 5055 fi 5056 5057 kde_qt_was_given=no 5058 5059 else 5060 kde_int_qt="$LIBQT" 5061 fi
おもいっきり、それ臭いところが。。。そうか FreeBSD では libqt がないから
5039 LIBQT="-lqt" 5040 kde_int_qt="-lqt"
としてもエラーになるし libqt-mt を使おうとしても
5045 case $host in 5046 *-*-linux-*) 5047 if test "x$GCC" = "xyes"; then 5048 LIBQT="-lqt-mt" 5049 kde_int_qt="-lqt-mt" 5050 LIBQT_GLOB="libqt-mt.*" 5051 USING_QT_MT="using -mt" 5052 fi 5053 ;; 5054 esac
Linux の時しか通らない case 文だしで駄目だったのだと納得しました。
> find /usr/ports -name Makefile -or -name "patch-*" | xargs grep "\-linux-"
として先人の知恵を拝借して
# diff -u configure.orig configure --- configure.orig Fri Jun 13 16:26:12 2003 +++ configure Wed Oct 22 21:23:52 2003 @@ -5010,7 +5010,7 @@ if test "x$kde_use_qt_mt" = "xyes"; then case $host in - *-*-linux-*) + *-*-linux-* | *-freebsd*) if test "x$GCC" = "xyes"; then CPPFLAGS="$CPPFLAGS -DQT_THREAD_SUPPORT -pthread" X_EXTRA_LIBS="$X_EXTRA_LIBS -pthread" @@ -5043,7 +5043,7 @@ if test "x$kde_use_qt_mt" = "xyes"; then case $host in - *-*-linux-*) + *-*-linux-* | *-freebsd*) if test "x$GCC" = "xyes"; then LIBQT="-lqt-mt" kde_int_qt="-lqt-mt"
そして Makefile に
CONFIGURE_ARGS+= --enable-mt
を追加しました。再度
# make configure (snip) checking for KDE... configure: error: in the prefix, you've chosen, are no KDE headers installed. This will fail. So, check this please and use another prefix! (snip)
今度は KDE header を要求されたようで work/kphone-3.12/configure を見てみると
5641 if test "$kde_qtver" = 1; then 5642 kde_check_header="ksock.h" 5643 kde_check_lib="libkdecore.la" 5644 else 5645 kde_check_header="ksharedptr.h" 5646 kde_check_lib="libkio.la" 5647 fi
むむっ、x11/kdelibs3 が必要な感じです。
# pkg_add http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/kdelibs-3.1.4.tbz Fetching http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/kdelibs-3.1.4.tbz... Done. Error: FTP Unable to get http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/pcre-4.3.tbz: Not Found Fetching http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/openldap-client-2.1.22.tbz... Done. pkg_add: package 'openldap-client-2.1.22' conflicts with openldap-client-2.0.27 pkg_add: please use pkg_delete first to remove conflicting package(s) or -f to force installation pkg_add: pkg_add of dependency 'openldap-client-2.1.22' failed! Error: FTP Unable to get http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/libxslt-1.0.32.tbz: Not Found Error: FTP Unable to get http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/libart_lgpl2-2.3.14.tbz: Not Found Error: FTP Unable to get http://rabarber.fruitsalad.org/packages/3.1.4/5.1-RELEASE/All/fam-2.6.9_3.tbz: Not Found
依存関係の package が足りなかったり、競合を起こしたりで。。。明日にします。。。
_ portupgrade devel/porttools
porttools-0.26 < needs updating (port has 0.50)
マイナーバージョンが一気に上がったなぁと思ったら
Update to 0.50: - new unified interface via port(1) front-end - port submit command has been improved: - autodetects operation mode (new, change, update) - autodetects maintainership requests and resets - autodetects added/removed files - new commands: create, diff, fetch
機能が増えていました。
膀!<br>hrs 羹エ .<br>Date: 20031022<br>Name: TrackBack<br>Mail: <br>Last-Modified: 1185942094<br>Visible: false<br><br>http://www.tramadolo21.fora.pl<br>Tramadol hci online buy cheap tramadol hci online.<br>Buy tramadol.<br>Where buy tramadol click here. Buy tramadol online cod. Buy tramadol. Buy tramadol with american express.