†Sibylのお部屋†
作成開始日 2022.03.03
最終更新日 2022.03.04
サイト | 最新版 | インストールの可否 |
OS/2 Site | WDSibyl20080217(ver.3.09) | 69%で止まる |
netlabs | Install_20070127(ver.3.03) | 正常インストール可能 |
WDSibyl | Install_20100117(ver.3.13) | 69%で止まる |
この「69%で止まる」というのが難物で、インストーラが起動して、途中までは順調にファイルを展開してくれるのだが、リソースのコンパイルの段階でダンマリを決め込む。ハングアップしているわけではないが、全く前に進まなくなる。
ただし、netlabsから取得したインストールファイルでは、この現象は起きない。OS/2 siteにも20070127版はあるのだが、こちらはやっぱり途中で止まる。この辺りがナゾなのだが、netlabsはWDSibylサイトのファイルを転載しているのではなく、自前で再コンパイルしているのかも知れない(単なる想像だが)。
と言うことで、2007年版でガマンするのなら、netlabsからダウンロードしてくれば済むのだが、2010年版が使いたいなら、この問題を解決しなくてはならない。で、この問題、解決してくれた方が居た!それによると、要するにWDSibylのコンパイラは
インストーラ自体はCHCP 437でコードページを切り替えれば済むのだが、インストーラが呼び出す子プロセスのコンパイラが問題になる。なので、インストーラがダンマリしたら、別途OS/2ウィンドウを起動してCHCP 437をした上で、子プロセスに相当するプログラムを手作業で起動してやれば良いらしい。詳しくは上記のサイトを参照。インストーラのソースを探し出して、解析でもしないと解決しないかと思っていたので、たいへんに助かった。
ちなみに、私は次のようなバッチを作っておいた(WDSibylはF:\WDSibylにインストール)。インストーラが止まる度にEnterキーを押せば、次に進むようになる。
CHCP 437
F:\WDSibyl\Tools\Output\OS2\CompileAllRC F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source\RC\ F:\WDSibyl\OS\OS2\Lib -OS2 -INSTALL
pause
F:\WDSibyl\Tools\Output\OS2\CompileAllPas F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source F:\WDSibyl\OS\OS2\Lib -OS2 -INSTALL
pause
F:\WDSibyl\Tools\Output\OS2\CompileAllRC F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source\RC\ F:\WDSibyl\OS\Win32\Lib -W32 -INSTALL
pause
F:\WDSibyl\Tools\Output\OS2\CompileAllPas F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source F:\WDSibyl\OS\Win32\Lib -W32 -INSTALL
実は、これだけでSibyl IDEの起動までは可能(\WDSibyl\BIN\OS2\wdsibyl.exeを実行)。ただし、当然のことだがそれでまともに使えるわけでなない。パス設定が正常にされていないために、単純なプログラムもfile not foundでコンパイルが通らない。そこで、[Project|Settings]や「\WDSibyl\BIN\OS2\sibyl.ini」や、各プロジェクトのsprファイルを弄って、ライブラリのソースやインクルードやら何やらを変更してやらなくてはならない。
正常インストール可能なver.3.03の「sibyl.ini」や「*.spr」が流用できるかと思ったが、どうもそう単純なハナシでもなさそうだ。
で、そうした設定をしていけば、正常に動作するの?と言われると、これも微妙で、エラーが出る度にパス設定を変更してけば、単純なプログラムのコンパイルくらいまでは通る。んが、そんな状態で使い物になるかと言われると…やはり、前記の方法でインストールする方が賢明でしょう。
実は、netlabsで入手した20070121(ver.3.03)のインストールファイルの「WDSibyl.dat」を、ver.3.13のものと差し替えると、インストーラが通るようになる(^^ゞ で、3.13のIDEが起動するようにはなるが、やはりパス通しで問題が出てきた。邪道は所詮邪道か。
が、この問題も、少し目処が立っている。まず、Ctrl+MがMDI切替になってしまうのは「\WDSibyl\IDE\Source\sib_editor.pas」で定義されているようなので、「kbCtrlM」を検索して、当該行をすべてレムってしまえば無効化できるはず。そのあと、IDEを再コンパイルすれば、素の状態ではCtrl+M/Ctrl+Hが正常動作する(と思う)。
ただし、個人的にはむしろNPSWPSの入力変換を有効にした状態でCtrl+Hを正常に戻したい。しかし、これは「sib_editor.pas」では該当する設定が見つからなかった。IDEのエディタもSPCCの「Editors」ユニットを使用しているので、こちらに手を付けることになる。ちなみに、WordStar準拠等のキーアサインもここで行っているので、Ctrl+H問題だけでなく、キーアサイン全般のカスタマイズをしたいときも、このファイルを弄れば良いようだ。
ともあれ「\WDSibyl\Library\Source\SPCC\editors.pas」を覗いてみると、確かに「kbCtrlH」と「kbBkSP」の定義がされているのだが、その定義は「cmBackSpace」で、特に問題はなさそうだ。ひょっとして、併用キーの誤認識みたいな問題かとも思ったが、ちょっと弄った程度では解決しなかった。仕方ないので、「bkAltBkSP」(=Undo)を「cmBackSpace」に変更したら、「Ctrl+H」が[BackSpace]となった!(SamplesのEditorで確認)
当然、Alt+BackSpaceのUndoは無効になってしまったのだが、これはCtrl+Uあたりに割り付ければ良いのでは?でもって、Ctrl+Uはブックマーク機能に割り付けられているので、これをCtrl+Bに…と玉突き的に設定を変えていくしかないのかな?
あとは、この状態でIDEを再コンパイルすれば解決するハズ…ではあるが、ちょっと先は長そうだ。それに、そこまでする価値がある処理系なのか、まだ値踏みをしている段階。