javasci FAQ Javasci v2に関するFAQ

## 質問 / 回答

javasciに基づくアプリケーションを実行した際,エラー Exception in thread "main" java.lang.NoClassDefFoundError: org/scilab/modules/javasci/Scilab が発生しました.

おそらく, org.scilab.modules.javasci.jar が CLASSPATHで定義されていないと 思われます. javasciでコンパイル/実行 参照ください.

Linux/Unix/MacOSXで,ネーティブライブラリjavasci2が存在しない または見つかりません.

おそらく the java.library.path の値が設定されていません. javasciでコンパイル/実行 参照ください.

Windowsで, ネーティブライブラリ javasci.dll が存在しないまたは見つかりません.

環境変数 PATH が設定されていない可能性があります. javasciでコンパイル/実行 参照ください.

Linux/Unix/MacOSXで, java.library.path を設定した 後でも,ネーティブライブラリjavasci2 が 存在しないまたは見つかりません.

以下のようなエラーが発生した場合: java.lang.UnsatisfiedLinkError: /path/to/scilab/lib/scilab/libscilab.so.0.0.0: libsciparameters.so.5: cannot open shared object file: No such file or directory, LD_LIBRARY_PATHにScilabネーティブライブラリが存在するパスを設定して みてください.

Windowsで, PATHを設定した後でもネーティブライブラリ javasci.dll が存在しないまたは見つかりません.

以下のようなエラーが発生した場合: java.lang.UnsatisfiedLinkError: C:\Program Files\scilab-XXXX\bin\javasci.dll: The specified procedure could not be found, 環境変数PATHにより,Scilabライブラリと使用するシステム上の他のライブラリが 衝突するようになった可能性があります. (PATH変数で)Scilabパスを他のパスの前に移動してみてください.

Javasciプログラムが以下のように起動に失敗します: An exception occurred: Auto detection of SCI failed. Could not retrieve the variable SCI

SCIを, GNU/Linuxでは scilab-X.Y.Z/share/scilab/, Mac OS Xでは scilab-X.Y.Z/Contents/MacOS/share/scilab/, Windowsでは scilab-X.Y.Z/ に設定する必要があります.

グラフィックをプロットしようとしましたが, グラフィックが現れません.

論理値 trueを指定して コンストラクタ (Scilab sci = new Scilab(true);) をコールしたか確認してください. これにより, Scilab をアドバンスドモードで起動します.

Javasciから既存のSwingアプリケーションにアタッチしようと しています. どのようにすればよいのでしょう?

現時点では, 簡単に行うことはできません. この機能は将来のバージョンのScilabで提供されます. いつもと同様, 貢献はウエルカムです!

javasciからScilabグラフィックウインドウを管理する現在の手法は 非常に大変とわかりました. どのようにすれば良いのでしょう?

困りましたね. 我々は現在のソリューションは完全とはほど遠いと認識しています. この制限に将来のリリースで対応したいと考えています.

Scilabインスタンスが外部モジュールを有しますが, `undefined symbol`により起動に失敗しました:

`atomsLoad: An error occurred while loading 'module-0.0.2': link : Library could not be loaded: /path/2.0-1/sci_gateway/c/../../src/cpp/libmy.so: undefined symbol: scirun_` これには,2種類の解決策が考えられます. 1番目は, シンボルを定義するライブラリを指定して構築することにより, モジュール自体を修正するものです. 2番目は,未定義の変数が宣言されたライブラリを `LD_PRELOAD=/path/to/the/lib/providing/the/symbol/libmy.so`で 定義することです.

## 参照

- Javasci v2の文書 を閲覧(これによりWebブラウザがオープンします).
- Javasci
- javasciでコンパイル/実行