内容へ移動
あにねこ電脳覚書
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
linux:scilab
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Fedora 31 に scilab をインストール ====== [[https://www.scilab.org/|Scilab]] からバイナリ(scilab-6.0.2.bin.linux-x86_64.tar.gz)をダウンロード、展開して、"bin/scilab" を起動すると、次のような selinux 回りの警告がでる。動作はするが、なかなかうざい。 <code> /usr/bin/chcon: '/usr/local/scilab-6.0.2/bin/scilab-bin' のコンテキストを `unconfined_u:object_r:execmem_exec_t:s0' に変更できません: 許可されていない操作です Error: Cannot chcon 'scilab-bin' /usr/bin/chcon: '/usr/local/scilab-6.0.2/bin/scilab-cli-bin' のコンテキストを `unconfined_u:object_r:execmem_exec_t:s0' に変更できません: 許可されていない操作です Error: Cannot chcon 'scilab-cli-bin' </code> Fedora 31 には scilab のパッケージが一応あるので、 <code> sudo dnf install scilab </code> でインストールしようとすると、 <code> エラー: 問題: conflicting requests - nothing provides jeuclid needed by scilab-6.0.2-2.fc31.x86_64 - nothing provides jrosetta needed by scilab-6.0.2-2.fc31.x86_64 (try to add '--skip-broken' to skip uninstallable packages) </code> が表示され、jeuclid と jrosetta が Fedora 31 のレポジトリにないために、インストールに失敗する。rpmfind.net で jeuclid と jrosetta を検索し、パッケージをダウンロードしてインストールする。足りないパッケージがあると表示されるので、その都度、入れていく。 <code> sudo rpm -ivh jeuclid-3.1.3-23.fc26.noarch.rpm sudo rpm -ivh jrosetta-1.0.4-14.fc26.noarch.rpm </code> しかるのちに scilab をインストール。 <code> sudo dnf install scilab </code> コンソールからscilabを起動すると、次のエラーメッセージがでる。 <code> 警告: Javaパッケージ '/usr/share/java/lucene/lucene-core.jar' が見つかりません。 警告: Javaパッケージ '/usr/share/java/lucene/lucene-core.jar' が見つかりません。 警告: Javaパッケージ '/usr/share/java/lucene/lucene-queryparser.jar' が見つかりません。 警告: Javaパッケージ '/usr/share/java/saxon/saxon.jar' が見つかりません。 警告: Javaパッケージ '/usr/share/java/ecj.jar' が見つかりません。 Javaライブラリのロードでいくつかの問題が発生しました。 これは、一貫性がない挙動をするかもしれません。 どうぞ SCI/etc/classpath.xml を確認してください。 </code> 足りないパッケージをさらに追加する。 <code> dnf whatprovides /usr/share/java/lucene/lucene-core.jar </code> で必要なパッケージ名が "lucene-7.7.0-2.fc31.noarch" と分かる。 <code> sudo dnf install lucene lucene-queryparser saxon </code> ecj.jar は'/usr/share/java/ecj/ecj.jar' にあるので、'/usr/share/scilab/etc/classpath.xml'の該当個所を書き換える。 <code> --- classpath.xml.orig 2020-02-01 01:37:50.491042675 +0900 +++ classpath.xml 2020-02-01 01:38:15.476129522 +0900 @@ -147,7 +147,7 @@ The option is "disableUnderMode" and can <load on="copyAsHTMLinScinotes"/> </path> -<path value="/usr/share/java/ecj.jar" load="onUse"> +<path value="/usr/share/java/ecj/ecj.jar" load="onUse"> <load on="external_objects_java"/> </path> </code> これで scilab がGUIも含めて動作し、日本語表示もOK。 追記:java-1.8.0-openjdk{,-headless}-1.8.0.242.b08-0.fc31.x86_64 では "Main Scilabクラスにアクセスできませんでした。" とのメッセージが出て、scilab を起動できない。過去のバージョンは <code> dnf --showduplicates list java-1.8.0-openjdk </code> でわかる。次のコマンドでダウングレードする。 <code> sudo dnf downgrade java-1.8.0-openjdk{,-headless}-1.8.0.222.b10-1.fc31 </code> これらのパッケージをアップデートの対象から外すには、次のファイルに記述する。 <code - /etc/dnf/dnf.conf> [main] excludepkgs=java-1.8.0-openjdk* </code> この設定の下で、強制的にアップデートする場合は、次のコマンド <code> sudo dnf update --disableexcludes=all </code> なお、"ldd /usr/bin/scilab-bin" を実行すると、"lib{java,jvm,verify}.so" が not found となっている。これらは次のパスにある。いずれも、"java-1.8.0-openjdk-headless-1.8.0.222.b10-1.fc31" のファイルである。 <code> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.fc31.x86_64/jre/lib/amd64/libjava.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.fc31.x86_64/jre/lib/amd64/server/libjvm.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.fc31.x86_64/jre/lib/amd64/libverify.so </code> "1.8.0.222.b10-1" → "1.8.0.242.b08-0" の変更では、"jre/bin/{clhsdb,hsdb}" が消えている。 <code> JDK-8226870 removed clhsdb and hdsdb from the JRE bin directory, so we should do likewise. Add alternatives support for these two new SDK binaries. </code> JDK-8226870 を検索して見てみたが、あまり関係はなさそう。
linux/scilab.txt
· 最終更新: 2020/02/03 10:09 by
anineco
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ