フォーチュンサモナーズ
«前の日記(2005-12-08) 最新 次の日記(2005-12-13)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2005-12-11

_ [ソフトウェア] Yggdrasill をダウンロードしてみた このエントリーを含むブックマーク

XML データベースエンジンの Yggdrasill がオープンソース化したというのでダウンロードしてみました。

製品マニュアルも API リファレンスもあるのだけど、ビルドの仕方に関するドキュメントがなさげ。Makefile を読めということなのでしょう。とりあえず gonzui に一式突っ込んでソースを読みやすくして、ビルドに挑戦してみました。

$ make
cd YgEngine; LC_ALL=ja_JP dcc -U../Common -U../XPath -U../YgClient -U../RelaxNG -U../RelaxNG/Datatype  -U../RelaxNG/Pattern -U../RelaxNG/Datatype/Pattern -U../RelaxNG/Datatype/Xsd -U../RelaxNG/Datatype/NameClass -U../RelaxNG/NameClass -U../RelaxNG/Datatype/RelaxNG -E.  YggdrasillServerE.dpr >/dev/null
/bin/sh: dcc: command not found
make: *** [YgEngine/YggdrasillServerE] エラー 127

早速つまづく。dcc って Delphi/Kylix のコンパイラかな?

_ [ソフトウェア] Yggdrasill のビルド: Kylix Open Edition のインストール このエントリーを含むブックマーク

Borland のトライアル版/無償製品版ダウンロードページから Kylix をダウンロード。

$ tar fvxz kylix3_open.tar.gz
$ cd kylix3_open
# ./setup.sh -m

-m をつけて、rpm を使わずにインストールです。

$ dcc --version
dcc (Borland Delphi for Linux) 14.5
Borland Delphi for Linux Version 14.5   Open Edition
Copyright (c) 1983,2002 Borland Software Corporation

再び make に挑戦。

$ make
cd YgEngine; LC_ALL=ja_JP dcc -U../Common -U../XPath -U../YgClient -U../RelaxNG -U../RelaxNG/Datatype  -U../RelaxNG/Pattern -U../RelaxNG/Datatype/Pattern -U../RelaxNG/Datatype/Xsd -U../RelaxNG/Datatype/NameClass -U../RelaxNG/NameClass -U../RelaxNG/Datatype/RelaxNG -E.  YggdrasillServerE.dpr >/dev/null
YggdrasillTCPServerE.pas(13) Fatal: ファイル 'IdThreadMgr.dcu' が見つかりません
make: *** [YgEngine/YggdrasillServerE] エラー 1

Indy コンポーネントを必要とするようです。

_ [ソフトウェア] Yggdrasill のビルド: Indy のインストール このエントリーを含むブックマーク

Indy9.0 を使うことにします。Download Indy 9.0 から 9.0.17 Source code distribution の Indy_9_00_17_src.tar.gz をダウンロード。

パッケージの使い方がわからないので、↓のようなパッチをあてて、

diff -ru Indy_9_00_17_src/IdLogStream.pas Indy_9_00_17_src-/IdLogStream.pas
--- Indy_9_00_17_src.orig/IdLogStream.pas  2002-10-08 12:19:22.000000000 +0900
+++ Indy_9_00_17_src/IdLogStream.pas 2005-12-12 00:59:48.000000000 +0900
@@ -14,7 +14,7 @@
 unit IdLogStream;
 
 interface
-uses classes, IdLogBase;
+uses Classes, IdLogBase;
 
 type
   TIdLogStream = class(TIdLogBase)
diff -ru Indy_9_00_17_src/IdQOTDUDP.pas Indy_9_00_17_src-/IdQOTDUDP.pas
--- Indy_9_00_17_src.orig/IdQOTDUDP.pas  2002-10-08 12:21:16.000000000 +0900
+++ Indy_9_00_17_src/IdQOTDUDP.pas 2005-12-12 01:00:19.000000000 +0900
@@ -14,7 +14,7 @@
 unit IdQOTDUDP;
 
 interface
-uses classes, IdAssignedNumbers, IdUDPBase, IdUDPClient;
+uses Classes, IdAssignedNumbers, IdUDPBase, IdUDPClient;
 type
   TIdQOTDUDP = class(TIdUDPClient)
   protected
$dcc `ruby -ne 'if m=/(\w+\.pas)/.match($_);puts m[1];end' indy.dpk`

などとして、dcu ファイルを量産してみました。これを Yggdrasill_1.5E/common にコピー。我ながら適当すぎ。

そしてまた make。

$ make
cd YgEngine; LC_ALL=ja_JP dcc -U../Common -U../XPath -U../YgClient -U../RelaxNG -U../RelaxNG/Datatype  -U../RelaxNG/Pattern -U../RelaxNG/Datatype/Pattern -U../RelaxNG/Datatype/Xsd -U../RelaxNG/Datatype/NameClass -U../RelaxNG/NameClass -U../RelaxNG/Datatype/RelaxNG -E.  YggdrasillServerE.dpr >/dev/null
YggdrasillServerE.dpr(170) Warning: コンパイラは 'end.' 以降の文字を無視します
Error: Bad file format: 'YggdrasillTCPServerE.dfm'
make: *** [YgEngine/YggdrasillServerE] エラー 1

うーん。先は長そう。

[]

最近のコメント:

  1. n (12-19)
  2. だて (12-17)
  3. k田 (12-17)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).