note/objy990421.txt AltaClusterに Objectivity/DB Linux版 を installしました。 documentについているような簡単な例では動作を確認しました。 lockもはたらいています。 ただし マルチホストでの動作確認はしていません。 (AMS:アドバンスとマルチスレッドサーバ、とか) 作業は ap03でおこないました。lockserverもap03でのみ走っています。 いまのところ/etc/rcには入れていないので、shutdown後は 手で立ち上げ直す必要があります。 後に書く理由のため、現在のままでは ap03からしかつかえません。 これからどうしていくかは 決断(あるいはRCFでどうしているか)の問題。 マニュアル(pdf)もダウンロードしました。 /ccj/u/yokkaich/objy/manの下です。 0。使うために。 pathに /usr/local/objy/linux86/bin /usr/egcs/bin LD_LIBRARY_PATHに /usr/local/objy/linux86/lib をくわえる。 /usr/local/src/objyLinux9903/Doc/README.txt /usr/local/src/objyLinux9903/Doc/GettingStarted/GettingStarted.html をよむ。 これを読んでつくったテストのためのソースは /ccj/u/yokkaich/objy/dbtestsrc/以下。 1。その作業中に気がついたこと。 1.1 コンパイルの時、2.5MBのexecutableをつくるのに、 /ccj/u/の下につくると 1分かかるが、/workの下 につくると 1秒ですむ。 NFSがおそいのか raidがおそいのか? コンパイルをくりかえすような作業をAltaClusterで やるなら問題になる。 YOK:ap03.ccj>time make tmain 0.580u 0.220s 1:12.90 1.0% 0+0k 0+0io 462pf+0w (local) YOK:ap03.ccj>time make tmain 0.510u 0.190s 0:00.78 89.7% 0+0k 0+0io 699pf+0w 1.2 AltaClusterの時計が ccjsunより一時間ほどおくれている。 xntpdはたちあがっているようなのにおかしい(のかどうか 私にはわかりませんが。) それで makeのときにWarningがでる。 2。以下作業ログをかねた細かい話です。 2.1 webpageによれば egcs1.1.1にpatchをあてたものが必要と いうことで、同ページからdownloadする。 http://www.ogis-ri.co.jp/otc/products/objectivity/linux/download/download.html すると、もうコンパイルされて どこかの /usr/egcs以下にinstallされたものの tar fileであった。 (展開すると usr/egcs/...という名前で出てくる) したがって、コンパイルする手間がないかわり、pathをこちらで 決めることができない。 つまり、たとえば /usr/local/lib/egcs1.1.1/の下にいれたい、とか おもっても ただcopyしたのでは pathが狂うのでつかえない。 かといって各ノードの /usr以下に直接いれるのもあんまりなので、 /usr/local/egcs1.1.1CERN の下にいれ、/usr/egcs から シンボリックリンクをはり、pathは /usr/egcs/以下に切ることにした。 とりあえずap03だけなのはそのせい。 将来的には sourceを 手に入れて正しく /usr/localの下に インストールすべきだと思う。 (オージス総研に問い合わせてみます。) 2.2 documentをふくめた展開先は /usr/local/src/objyLinux9903 (よそへもっていきたいときはこの下だけまとめていけばよい) ライブラリ部の展開先は /usr/local/objyLinux9903 /usr/local/objy は /usr/local/objyLinux9903への シンボリックリンク。 (一応 将来のversion up等にそなえたdirectory構成の つもり。 version numberがついてないので objyLinux9903 という変な名前にしてある) 2.3 install.cshを走らせたとき、 include pathを聞かれるので、/usr/egcs/include/g++ /usr/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/include といれる。 この情報は objy/bin/ooddlxの中に反映される。 2.4 README.txtの指示で、 1. genelic.hは /usr/local/include/g++からコピーした。 2. -D__HONOR_STDは objy/ooddlxのCPP_DEFINESのところに 手で書き込んだ。 3. stddef.hに書き加えろとのことだが、かえってそこでこける。 ので現在はそのまま。 /usr/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/include の下のstddef.h. (書き加えたものはstddef.h.badrevised) 2.5 リンク時にWarningがでる。(1.2とは別の話) /usr/egcs/bin/g++ -o wrk/tmain tmain.o Person_ddl.o /usr/local/objy/linux86/lib/liboo.a -lrpcsvc -lnsl -ldl /usr/local/objy/linux86/lib/liboo.a(onmNaming.o): In function `onmGetRealName2': onmNaming.o(.text+0x9db): the `getwd' function is dangerous and should not be used. よくわかりません。 3。課題。 1. マルチホストでの動作確認。 2. egcs 3. stddef.hの問題。 4. onmNaming.oの問題。 そんなに急がないということなので ぼちぼちやります。後藤くんがやってくれるかもしれないし。 S.Yokkaichi, Kyoto Univ.