Kylixの登場

 Windowsの世界とは別にLinuxがだんだん普及してきました。
5年ほど前 初めてPC-98で動作するLinuxはフロッピー40枚ほどあったような...
で、最初はそんなものがある。 という程度しか知りませんでした。

 90年代後半はWindows一色に変わってきて、業務もCADのような科学技術系のシステムから、クライアント・サーバ型のDBアプリケーション開発に変わってきました。 この分野への移行はこの当時いわば一種の流行のようにも思えます。 ネコも杓子もクライアント・サーバ型のDBアプリ開発...?
で、この分野はライバル会社が大手、中小含めて多数ある訳で、かつどこも似たようなものになりやすいため差別化がしにくいようです。 科学技術系だと、他社が簡単に真似できないため個性が出しやすい部分もあったように思います。 そういう中で計測制御系の分野は、いつの間にか外へ放り出されたような感じでした。

 ところが、Linuxの普及で状況が変わってきました。
フリーのOSでOSのソースも全て公開されている。 リアルタイム性や信頼性の面でも優れている。 GUI環境を提供する、X Windowも実装されている。 開発環境やユーティリティも一通り揃っている。
 フリーのOSであってもかなり環境が整備されてきました。そこへ、DelphiのLinux版ともいえる Kylixが登場した訳です。
Linuxは殆ど使ったことが無かった私ですが、Kylixの登場にて Linuxアプリケーション開発に弾みが付くのではないかと思いました。 そして、Linux上にてアプリ開発を行なってみたいという気になりました。 今の、会社に入ったのもそれが理由ともいえます。

 Linuxのコンソール上で gccにてプログラムを作成するのは、昔 DOS環境にてプログラムを作成するのに感覚が似ています。 伝統的なプログラミング手法で これはこれで良いと思います。
 X Windowでのプログラミング環境は、Windows環境に比べると...やや遅れている状況でした。 
そこへ、Kylixが登場することにより、X Windowでも簡単にスピーディにプログラムが作れる環境が手に入る事になった訳です。

しかし、最初はいろいろ手間取りました。
Windowsで、Delphiをインストールするのとはかなり状況が異なります。
 まず、各Linuxのディストリビューション、バージョンによって、Kylixに対応しているものとそうでないものとがあります。 
私の環境の場合、最初 VineLinux2.1.1を使用していました。 このバージョンでは glibcのローダの潜在的なバグがあるらしく、Kylixをインストール出来ません。 VineLinuxのホームページからパッチモジュールをダウンロードしてパッチを当てる事によりKylixをインストールする事が出来ます。 VineLinux2.1.5も同じでした。
 Kylixの製品版には、いくつかのFTP版のLinuxが付属しています。
私は、Laser5 Linux6.4を インストールしてみました。 これは、最初からパッチを当ててあるようで、すぐにKylixをインストールできます。( Kylix Readyのロゴが付いてます。)
インストールの方法はインストールCDの中に Install(ドキュメントファイル)が入っているのでそれを読んで下さい。 PreInstall、その他のドキュメントも読んでおいて下さい。
そして、コンソール(ターミナルエミュレータ)からコマンドを入力してKylixのインストーラを起動します。
( Installドキュメント中ほどの行に以下のコマンドを書いてあります。)
    mount /mnt/cdrom
    cd /mnt/cdrom
    sh setup.sh

 インストーラは最初、Linuxの各モジュールのバージョン等を調べますので、Kylixに未対応の古いモジュールが発見された場合は、エラー表示を行ないインストールを中止します。
  インストールする場合は、root権限で行なった方が便利がいいと思います。
但し、RedHat7.1においては、root権限でインストールを行なうとインストーラが途中で止まります。
root権限以外で行なうとうまくいきます。 理由は分かりませんが、BorlandのHPでもこの現象は確認されてるみたいで、RedHat7.1で root権限でインストールする場合は、RedHat LinuxのHPからパッチモジュール
をダウンロードして、パッチを行なえばインストールは出来るような事を書いてありました。

で、無事インストールが終わるとスタートメニューにKylixが追加されています。
起動すると、.....やや起動に時間がかかる。 最初1回目はフォントデータを生成するとのダイアログが途中でてきます。 出来れば,マシンは早いほう( CPU 400[Mhz]以上、メモリ128[Mbyte]以上 )がいいです。
 起動した画面はDelphiと殆ど同じです。 操作もDelphiを知って方であればすぐに使えます。
ただ、画面スクロール時にカーソルキーを押し続けると、キーバッファにキーコードが溜まり込むようで、指を離してもすぐにカーソルの移動が止まりません。 あまり長く押し続けない方がいいみたいです。
この事からも早いマシンにインストールした方が良いです。
操作は殆ど、Delphi5と同じ感覚で扱えます。 Windows固有の機能は当然使用できません。 でも、かなり操作性を同じにしてあるのでコモンダイアログ等も同じ感覚で使えます。

 Kylixで開発したプログラムを単体で動かそうとした場合に、また悩んでしまいました。 単独で起動しようとすれば、「libqtintf.soが見つかりません」のエラーが出てしまいます。
これは、実行時ランタイムライブラリが見つからないエラーです。  直接呼出しているライブラリの名前は libqtintf.soと libqt.so.2ですが、最終的に libqtintf.so.2.2.4と libqt.so.2.2.4が呼出されます。

    libqt.so.2 -> libqt.so.2.2.4
    libqtintf.so -> libqtintf.so.2 -> libqtintf.so.2.2.4

これらのライブラリモジュールをどこか任意のディレクトリを作成してそこにコピーします。
仮に、/root/kylixRuntimeとします。

 一時的に、単独で起動するのであれば、ターミナルエミュレータで以下のコマンド( 環境変数の設定 )を入力して下さい。

    export LD_LIBRARY_PATH=/root/kylixRuntime

いつも動作する様にするのであれば上記の1行を /etc/profile(テキストファイル)の最下行にでも追加して下さい。 Kylixがインストールされてる環境であれば、Kylixのランタイムが格納されている場所を直接さしてもいいと思います。
 なお、他のマシンで実行形式を動作させるときは、当然ランタイムもいっしょに持っていきコピーする必要がありますが、ランタイムモジュールが、かなり大きい(6〜7[Mbyte]ぐらい?)のです。
Delphiならフロッピー1枚で持って行けましたが、Kylixはそういう訳にはいきません。

 Linuxに Kylixのライブラリが標準で入るようになれば状況は変わってくるでしょうけど...。 まあ、徐々に環境は整ってくるのではないかと思います。