茨城県つくばみらい市から来ました

プログラマーになるために生きています

Laborの評価メモ

基幹ソフトが必要だね、という話で。
labor-project.comっていうのがあるから評価するがよいよいよいよい(残響音含む)との御命令でございまったのであります。アラヤダGPLじゃない( ´ω`)ウフフ

Apacheのインストールと設定

迅速に

PostgreSQLのインストールと設定

優雅に

MONTSUQI(Panda)のインストール

そして華やかにフィニッシュ!・・・できなかったので覚え書き。ギギギギギ。

# uname -a
Linux localhost.localdomain 2.6.20-1.2944.fc6xen #1 SMP Tue Apr 10 18:03:37 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost temp]# wget http://www.montsuqi.org/archive/panda/panda-1.2.8.tar.gz
[root@localhost temp]# tar xvfz panda-1.2.8.tar.gz
[root@localhost temp]# cd panda
[root@localhost panda-1.2.8]# ./configure --with-ruby=`which ruby` \
--with-postgres \
--with-shell \
--with-ssl \
--with-eruby=`which eruby`
(snip)
checking for gtkpanda-config... no
configure: error: Couldn't find gtkpanda-config
[root@localhost panda-1.2.8]#

アラヤダ

[root@localhost temp]# wget http://www.montsuqi.org/archive/gtk+panda/gtk+panda-1.0.6.tar.gz
[root@localhost temp]# tar xvf ./gtk+panda-1.0.6.tar.gz
[root@localhost temp]# cd gtk+panda-1.0.6/
[root@localhost gtk+panda-1.0.6]# ./configure
(snip)
checking for gnome-config... no
checking for gnomeConf.sh file in /usr/local/lib... not found
configure: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install

チィ

[root@localhost gtk+panda-1.0.6]# yum install gnome-libs-devel
(snip)
Complete!

いくぜ!

[root@localhost gtk+panda-1.0.6]# ./configure
(snip)
[root@localhost gtk+panda-1.0.6]# make
(snip)
gtkpandahtml.c:33:19: error: ghttp.h: No such file or directory

いやぁぁぁぁぁぁん('A`)
よくわかんないけどlibghttpdっていうパッケージ関連のヘッダファイルのようだ。よぉしお前なんかインストールしてやる!

[root@localhost temp]# wget \
ftp://ftp.laser5.co.jp/pub/Laser5/7.2/i386/RedHat/RPMS/libghttp-1.0.9-2.i386.rpm
(snip)
18:43:18 (422 KB/s) - `libghttp-1.0.9-2.i386.rpm' を保存しました [39275]

[root@localhost temp]# wget \
ftp://ftp.laser5.co.jp/pub/Laser5/7.2/i386/RedHat/RPMS/libghttp-devel-1.0.9-2.i386.rpm
(snip)
18:43:38 (522 KB/s) - `libghttp-devel-1.0.9-2.i386.rpm' を保存しました [20406]

[root@localhost temp]# rpm -ivH ./libghttp-1.0.9-2.i386.rpm
パッケージインストールの準備中...
libghttp-1.0.9-2
[root@localhost temp]# rpm -ivH ./libghttp-devel-1.0.9-2.i386.rpm
エラー: 依存性の欠如:
libghttp = 1.0.9 は libghttp-devel-1.0.9-2.i386 に必要とされています
[root@localhost temp]#

(#^ω^)ビキビキ

[root@localhost temp]# rpm -ivh --nodeps libghttp-devel-1.0.9-2.i386.rpm
準備中... ########################################### [100%]
1:libghttp-devel ########################################### [100%]
[root@p112 temp]#

( ^ω^)ビッキーズ

[root@localhost temp]# cd gtk+panda-1.0.6
[root@localhost gtk+panda-1.0.6]# ./configure --cache-file=/dev/null
(snip)
[root@localhost gtk+panda-1.0.6]# make clean
[root@localhost gtk+panda-1.0.6]# make
(snip)
/usr/bin/ld: cannot find -lpng10
collect2: ld returned 1 exit status

オラちょっと飽きてきたぞ・・・。

[root@localhost gtk+panda-1.0.6]# yum whatprovides libpng10.so
(snip)
libpng10-devel.x86_64 1.0.21-1.fc6 extras
Matched from:
/usr/lib64/libpng10.so

# yum install libpng10-devel
(snip)
Installed: libpng10-devel.x86_64 0:1.0.21-1.fc6
Complete!

# make clean
# make
(snip)
gcc -g -O2 -Wall -Wunused -o .libs/testnumeric testnumeric.o -rdynamic -rdynamic ./.libs/libgtkpanda.so -L/usr/lib64 -lgtkxmhtml -lXpm -ljpeg -lpng10 -lz -lSM -lICE -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lpthread -Wl,--rpath -Wl,/usr/local/lib
./.libs/libgtkpanda.so: undefined reference to `ghttp_uri_validate'
./.libs/libgtkpanda.so: undefined reference to `ghttp_process'
./.libs/libgtkpanda.so: undefined reference to `ghttp_prepare'
./.libs/libgtkpanda.so: undefined reference to `ghttp_clean'
./.libs/libgtkpanda.so: undefined reference to `ghttp_set_uri'
./.libs/libgtkpanda.so: undefined reference to `ghttp_get_body'
./.libs/libgtkpanda.so: undefined reference to `ghttp_request_new'
collect2: ld returned 1 exit status

どんだけー。
確かにlibghttp.soがリンクされてないなぁ。なんでよ!僕configureとか読んだことないよ!でも今から読むよ!えーっと。そんな簡単に原因究明できたら世の中全員ハカーでWizerdだっつーの。
Makefileの該当箇所っぽいのを直してみる。

/usr/bin/ld: skipping incompatible /usr/lib/libghttp.so when searching for -lghttp
/usr/bin/ld: skipping incompatible /usr/lib/libghttp.a when searching for -lghttp
/usr/bin/ld: skipping incompatible /usr/lib/libghttp.so when searching for -lghttp
/usr/bin/ld: skipping incompatible /usr/lib/libghttp.a when searching for -lghttp
/usr/bin/ld: cannot find -lghttp
collect2: ld returned 1 exit status

ハハハハ、32bit版でしたもんね( ^ω^)
http://ftp.us2.freshrpms.net//linux/RPM/fedora/5/x86_64/libghttp-1.0.9-11.2.1.x86_64.html
これだよこれ。こっち。たぶん。

# wget ftp://fr2.rpmfind.net/linux/fedora/core/5/x86_64/os/Fedora/RPMS/libghttp-1.0.9-11.2.1.x86_64.rpm
# wget ftp://fr2.rpmfind.net/linux/fedora/core/5/x86_64/os/Fedora/RPMS/libghttp-devel-1.0.9-11.2.1.x86_64.rpm
# yum localinstall libghttp-1.0.9-11.2.1.x86_64.rpm
# yum localinstall libghttp-devel-1.0.9-11.2.1.x86_64.rpm

やれやれだぜ・・・。
あれ、俺なにしてたんだっけ('A`)
そうだ。パンダパンダ。

# cd gtk+panda-1.0.6
# ./configure --cache-file=/dev/null
# make clean
# make

キター!やっとビルドが通ったよ!

# cd ../
# cd panda-1.2.8
# ./configure --cache-file=/dev/null --with-ruby=`which ruby` --with-postgres --with-shell --with-ssl --with-eruby=`which eruby`
(snip)
checking for libglade-panda-config... no
configure: error: Couldn't find libglade-panda-config

サーセンwwwwwwwwww

# wget http://www.montsuqi.org/archive/libglade-panda/libglade-panda-20030307.tar.gz
# tar xvfz libglade-panda-20030307.tar.gz
# cd libglade-panda-20030307
# ./configure
(snip)
checking for xml-config... no
configure: error: Couldn't find xml-config

フヒヒヒヒ!テンション上がってきちゃったぞ!

# yum whatprovides xml-config
# yum install libxml-devel
(snip)
Installed: libxml-devel.x86_64 1:1.8.17-15.fc6
Dependency Installed: libxml.x86_64 1:1.8.17-15.fc6
Complete!

おらっしゃぁ!

# ./configure
# make
# make install

すげぇ、ビルド通った。スムーズにビルドが通ったのこれが今日初めてかもわからん

# cd ..
# cd panda-1.2.8./configure --cache-file=/dev/null --with-ruby=`which ruby` --with-postgres --with-shell --with-ssl --with-eruby=`which eruby`
(snip)
checking for libmondai-config... no
configure: error: Couldn't find libmondai-config

そういえばそんなことが書いてあったなぁ。

# cd ..
# wget http://www.montsuqi.org/archive/libmondai/libmondai-1.2.6.tar.gz
# tar xvfz libmondai-1.2.6.tar.gz
# cd libmondai-1.2.6
# ./configure
(snip)

                                                                                                          • -

libmondai Configuration:

VERSION: 1.2.6
LTVERSION: 3:6:2
i18n Support: yes
libxml Support: no
libxml2 Support: yes
SOAP Support: yes

お。順調?

# make
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-1.2 -I/usr/lib64/glib/include -I/usr/include/libxml2 -I.. -O2 -Wall -Wunused -Wredundant-decls -Werror -funsigned-char -g -O2 -Wp,-MD,.deps/LBSfunc.pp -c LBSfunc.c -fPIC -DPIC -o .libs/LBSfunc.lo
cc1: warnings being treated as errors
LBSfunc.c: In function 'LBS_FetchPointer':
LBSfunc.c:181: warning: cast to pointer from integer of different size
LBSfunc.c: In function 'LBS_EmitPointer':
LBSfunc.c:364: warning: cast from pointer to integer of different size
LBSfunc.c:365: warning: cast from pointer to integer of different size
LBSfunc.c:366: warning: cast from pointer to integer of different size
LBSfunc.c:367: warning: cast from pointer to integer of different size
make[2]: *** [LBSfunc.lo] エラー 1

でもないね。さて。warnings being treated as errorsて、今までさんざん警告無視してビルドしてきたじゃないかっ!んー。Cなら読めるから3分ハッキングですな。

4/27追記

めんどくさいので-Werrorを外して再度make。なんかキャストで警告出まくってるけど見なかったことにして先に進めるぜっ。